3

コマンドでハイブスクリプトを実行すると

ハイブ -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 スクリプトを実行するにはどうすればよいですか?

4

1 に答える 1