私はすべての研究を行い、HIVEのどこにでも同じ問題を見ることができませんでした。HIVE 2.1.1テーブルの作成CSV-Serde
https://github.com/ogrodnek/csv-serde
私の外部表の作成は以下のserdeの性質を持っていますが、何らかの理由で、デフォルトEscapeCharに(「\」..下のリンクをたどって、私は引用符で囲まれたデータでは問題がありません。)私のデータのための二重引用符( ")であるquoteCharによって置き換えられている
CREATE EXTERNAL TABLE IF NOT EXISTS people_full(
`Unique ID` STRING,
.
.
.
.
)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
WITH SERDEPROPERTIES (
"escapeChar" = "\\"
)
STORED AS TEXTFILE
データISSUE:
サンプルHDFSソースデータ: "\" Robsビジネス 対象HIVE出力: "" "Robsビジネス
このように、置換後のRobsビジネスで見られる3つの二重引用符は、データの望ましくないデータ区切りを引き起こしています長い文字列)は、HIVEがデータ内に3つの二重引用符を扱うことができない場合があります(引用符( ")も私のデフォルト引用符文字です)。
なぜこのようなことが起こり、解決策がありますか?助けてください。多くのありがとう。
ベスト
、 アシャは
こんにちは@ kundam、申し訳ありませんが正しいSQLを表示するために私の質問を編集しました。私は "escapeChar" = "\\"を使用していた(私の記事で) "\ '"は置換を避けて動作しますが、バックスラッシュのデフォルトのエスケープ文字は変更したくありません。 –
私の実際の問題は、( '\')がデフォルトの引用符で置き換えられているので、HIVEの既知の問題ですか?助けてくれてありがとう。 –
**あなたの投稿を**編集し**実際のコードをスクリーンショットではなくテキストとして表示してください。他の人は画像からコピー&ペーストすることはできません。 [詳細はこちら](https://meta.stackoverflow.com/a/285557/1402846)を参照してください。ありがとうございました。 – Pang