sqoopテスト--hive-delims-replacementパラメータ

2972 ワード

hiveの公式ドキュメントで与えられた例ではフィールド区切り記号は001であるが、彼のAPIドキュメントであるhive-delims-replacement、--hive-drop-import-delimsパラメータで処理される文字は0 x 01であり、1つは8進数の1であり、1つは16進数の1であるという違いがあり、lzはこの2つが同じかどうかを確認するために以下の実験を行った.
 
Example: CREATE TABLE page_view(viewTime INT, userid BIGINT,       page_url STRING, referrer_url STRING,       ip STRING COMMENT  'IP Address of the User' )   COMMENT  'This is the page view table'   PARTITIONED BY(dt STRING, country STRING)   ROW FORMAT DELIMITED     FIELDS TERMINATED BY  '\001' STORED AS SEQUENCEFILE;
The above statement lets you create the same table as the previous table.
In the previous examples the data is stored in/page_view. Specify a value for the key  hive.metastore.warehouse.dir  in the Hive config file hive-site.xml.
--hive-delims-replacement              Replace Hive record\0x01
                                               and row delimiters (\r)
                                               from imported string fields
                                               with user-defined string
--hive-drop-import-delims                   Drop Hive record\0x01 and
                                               row delimiters (\r) from
                                               imported string fields
この2つのパラメータは一緒に使用できません
メタデータ(中央のグリッドは001でjavaコードで生成されます)
11 QQQjyyh qwqwqw 1 1111 2017/10/15 23:27:4815 javajyh中国語2 1212 2017/10/15 23:39:57
sqoop import --connect jdbc:oracle:thin:@MSI:1521/study --username luo --password Sys_20170929 --table TB_NEWS --fields-terminated-by "\001" --lines-terminated-by "
" --hive-import --hive-overwrite --null-string "" --null-non-string "" --fetch-size 1000 -m 3 --create-hive-table --hive-table luoqi_test.TB_NEWS --delete-target-dir

インポート後のhiveの構造は
11.0 QQ|jyyyh qwqwqw 1 1111 2017-10-15 23:27:48.015.0 java|jyh中国語2 1212 2017-10-15 23:39:57.0
結果、'001'は正しい文字に置き換えられます.
結論:001は--hive-delims-replacementパラメータに置き換えることができる
 
エクスポートこのシンボルを復元しますか?
転載先:https://www.cnblogs.com/rocky-AGE-24/p/7675164.html