我正在尝试将数据从Teradata导入HDFS位置。 我有权查看该数据库。因此,我在另一个数据库中创建了一个临时表。但是当我尝试运行代码时,它会显示错误
错误:正在运行Sqoop版本:1.4.6.2.6.5.0-292 18/12/23 21:49:41 WARN工具。BaseSqoopTool:在命令行上设置密码不安全。考虑改用-P。 18/12/23 21:49:41错误工具。BaseSqoopTool:解析import的参数:staging-table,t_hit_data_01_staging,–clear-staging-table,-query时,从table1中选择*,其中cast(date1作为Date)< =日期'2017-09-02'和$ CONDITIONS,--target-dir,<>,--split-by,date1,-m,25
我已经在代码中提供了登台表的详细信息并运行了它。但抛出错误。
(Error parsing arguments from import and as un-recognized arguments from staging table
)
sqoop import \
--connect jdbc:teradata://<server_link>/Database=db01 \
--connection-manager org.apache.sqoop.teradata.TeradataConnManager \
--username <UN> \
--password <PWD> \
–-staging-table db02.table1_staging –clear-staging-table \
--query "select * from table1 where cast(date1 as Date) <= date '2017-09-02' and \$CONDITIONS " \
--target-dir '<hdfs location>' \
--split-by date1 -m 25`
应使用Teradata另一个数据库中的登台表将数据加载到HDFS位置中,然后稍后在更改where子句时应在HDFS位置中的同一文件夹下创建另一个文件。例如:part-0000,下一个文件为-0001等,
答案 0 :(得分:0)