2016-12-27 28 views
1

我从进口的Teradata(RDBMS)数据使用Apache sqoop蜂巢。表格中列出了用于导入的常用分隔符,如",", "|", "~"。有没有办法在apache sqoop中使用多个字符作为分隔符。多字符分隔符使用Apache sqoop进口

为了避免它,我已经使用在sqoop导入命令--escaped-by "\t"--fields-terminated-by ","参数。那么有没有一种方法可以'用于'我在sqoop导入中使用的"\t"

+1

.. –

+0

--escaped,由\\ --enclosed ''''' –

+0

是否有任何特定的格式,你想..因为这个逃生字符。如果有任何你喜欢的要求。 –

回答

1

我用,每当我得到包含含文字可能有标签和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'"