コマンドでハイブスクリプトを実行すると
ハイブ -d arg_partition1="p1" -f test.hql
エラーを返します
失敗: SemanticException [エラー 10004]: 行 3:36 無効なテーブル エイリアスまたは列参照 'p1': (考えられる列名は次のとおりです: 行、パーティション 1)
test.hql という名前のスクリプト
DROP TABLE IF EXISTS test;
CREATE EXTERNAL TABLE IF NOT EXISTS test (Line STRING)
PARTITIONED BY (partition1 STRING);
ALTER TABLE test ADD PARTITION (partition1="p1") LOCATION '/user/test/hive_test_data';
SELECT * FROM test WHERE partition1=${arg_partition1};
パーティションを整数に変更すると、正常に動作し、正しい結果が返されます。
文字列引数を指定して Hive スクリプトを実行するにはどうすればよいですか?