2

ファイルを介して Hive テーブルに挿入しようとしています。しかし、テキスト ファイルの最後の列に、別の行にまたがるデータが含まれていることがあります。

サンプルデータ:

col1|col2|col3|this line is spilling into different line
               as is this, this is spilling this is spilling this is sp
               iliing and so is this
col1|col2|col3|this can be inserted without problem

そのため、こぼれたデータは、最後の列に折り返されるのではなく、新しい行と見なされます。オプションで終了する行を使用しようとしましたが、これを機能させることができません。

4

1 に答える 1

0

これは、列に改行 (行/レコードの終わり) 記号が埋め込まれているという、より一般的な問題の特殊なケースです。一般的な csv ファイル形式では、文字列フィールドが引用符で囲まれているため、改行が引用符内にあることに注意することで、フィールドに埋め込まれた改行を簡単に検出できます。引用符はありませんが、フィールドの数を知っているので、改行がいつレコードの途中で終了するかを検出できます。しかし、最後のフィールドで改行を検出するのは困難です。後続の行にはフィールド区切りがないことに注意し、これらの後続の行がレコードの一部であると想定する必要があります。

于 2016-11-01T12:23:48.480 に答える