こんにちは私は上流からcsvファイルとしてデータを取得し、その上にハイブテーブルを作成します。現在、いくつかのcsvファイルには、少数の行/列の制御M文字が含まれています。例えば、 3列のデータは、制御M文字ハイブテーブル行の^ Mを削除するには?
abc^M,def,ghi
jkl,mno^M,pqr
で以下に示される上記データが含まれているので今はLOAD DATA INPATH '/path/to/file' INTO TABLE mytable
を用いてハイブテーブルにデータをロードコントロールMハイブは改行として考えるので、ハイブのデータ上に新しい行にその行を破りますテーブルは2の代わりに4行の数を返します。私はregex_replace(mycol,'[\x01-\x1A]',"\\")
を使用して、コントロールMを含むすべての制御文字を置き換えようとしましたが、動作しますが、\ signの後ろに残しますabc^M
はabc\
になります。データを変更したくありません。これを行うにはより良い方法がありますか?このケースでは、カスタムserdeが助けになるかどうかはわかりません。ご案内ください。私はハイブには新しいです。前もって感謝します。
は、 [\ x01- \ x1A] '、' ') ' – Ambrish