2
  • /db/tbname/CL=CL%3D18 として保存された ('CL=18') としてパーティション列 (CL) 値を持つ Hive テーブルにデータが挿入されました (無効なパーティションには、等号の URL エンコードされた特殊文字が含まれています)。

    • hortonworks communityによると、Hive には URL エスケープとして特殊文字が格納されていることが言及されていました。

      • 等号のエスケープ シーケンスを \x3D(hex) 、 \u0030 (unicode) として使用しようとしましたが、機能しませんでした

例: alter table tb drop partition (CL='CL\x3D18'); <-- うまくいきませんでした

誰かが私を助けることができますか、私は Equal(=) 記号に対して何か間違ったことをしていますか?

4

1 に答える 1

2

alter table id drop partition(cl="cl=18");パーティション値をsingle quotes(')alsoで囲んで (or) で試してください。

最後にシナリオを再作成し、hex..etc シーケンスを使用せずに特殊文字を含むパーティションを削除できました。

例:

stringパーティション列タイプとして cl を使用してパーティション テーブルを作成しました。

hive> alter table t1 add partition(cl="cl=18"); --add the partition to the table
hive> show partitions t1; --list the partititons in the table
+-------------+--+
|  partition  |
+-------------+--+
| cl=cl%3D18  |
+-------------+--+
hive>  alter table t1  drop partition(cl='cl=18'); --drop the partition from the table.
hive>  show partitions t1; 
+------------+--+
| partition  |
+------------+--+
+------------+--+
于 2018-10-14T18:10:49.250 に答える