多字符分隔符使用Apache sqoop进口
问题描述:
我从进口的Teradata(RDBMS)数据使用Apache sqoop蜂巢。表格中列出了用于导入的常用分隔符,如",", "|", "~"
。有没有办法在apache sqoop中使用多个字符作为分隔符。多字符分隔符使用Apache sqoop进口
为了避免它,我已经使用在sqoop导入命令--escaped-by "\t"
和--fields-terminated-by ","
参数。那么有没有一种方法可以'用于'我在sqoop导入中使用的"\t"
。
答
我用,每当我得到包含含文字可能有标签和CR/LF字符大数据领域具有挑战性的表中的“\ B”分隔符。 '\ b'作为BACKSPACE在大多数数据库中很难插入到字符库中。
这里是sqoop命令我使用的例子:你有问题,同时从Teradata数据导入或从蜂箱将数据导出到TERA数据
sqoop import
--connect "jdbc:sqlserver://myserver;DatabaseName=MyDB;user=MyUser;password=MyPassword;port=1433"
--warehouse-dir=/user/MyUser/Import/MyDB
--fields-terminated-by '\b' --num-mappers 8
--table training_deficiency
--hive-table stage.training_deficiency
--hive-import --hive-overwrite
--hive-delims-replacement '<newline>'
--split-by Training_Deficiency_ID
--outdir /home/MyUser/sqoop/java
--where "batch_update_dt > '2016-12-09 23:06:44.69'"
.. –
--escaped,由\\ --enclosed ''''' –
是否有任何特定的格式,你想..因为这个逃生字符。如果有任何你喜欢的要求。 –