たとえば、Unixの設定ファイルを介してクエリを受信しています。構成ファイルの内容の形式は次のとおりです。
Table_name|query
ABC|select ABC.A,ABC.B from PQR left join (select * from ABC) on ABC.pk=PQR.pk
クエリ部分を次のように処理しようとしています。
while read line in config_file
do
query=`echo $line|awk -F "|" '{print $1}'`
result=hive -e "$query"
...
ただし、クエリ変数の「*」は現在のディレクトリのファイルのリストに展開されます。
その役割から抜け出す方法を助けることができますか*
?解決策が見つかりましたが、見つかりませんでした。
答え1
こんにちはSaket Mankar、コミュニティへようこそ!
$line
変数を二重引用符で囲む必要があります"$line"
。
これで状況が解決します。