我尝试在 Sqoop2 中运行以下命令:
这个工作在哪里创建了制表符分隔的零件文件(part-m-00000,part-m-00001等(:
sqoop import --connect jdbc:oracle:thin:@999.999.999.999:1521/SIDNAME --username god --table TABLENAME --fields-terminated-by 't' --lines-terminated-by 'n' -P
这个失败了:
sqoop import -Dmapreduce.job.user.classpath.first=true
-Dmapreduce.output.basename=`date +%Y-%m-%d`
--connect jdbc:oracle:thin:@999.999.999.999:1521/SIDNAME
--username nbkeplo
--P
--table TABLENAME
--columns "COL1, COL2, COL3"
--target-dir /usr/data/sqoop
-–as-parquetfile
-m 10
错误:
20/01/08 09:21:23 ERROR tool.BaseSqoopTool: Error parsing arguments for import:
20/01/08 09:21:23 ERROR tool.BaseSqoopTool: Unrecognized argument: -–as-parquetfile
20/01/08 09:21:23 ERROR tool.BaseSqoopTool: Unrecognized argument: -m
20/01/08 09:21:23 ERROR tool.BaseSqoopTool: Unrecognized argument: 10
Try --help for usage instructions.
我希望输出是<.parquet>文件而不是HIVE表(希望直接与Apache Spark一起使用而不使用HIVE(。这<.parquet>文件创建是否可以通过Sqoop导入?
使用 Sqoop 可以直接导入到 HDFS(如 AVRO、SequenceFile 或 (。 输出到 Hive 时,它仍会写入 HDFS,就在托管表的 Hive 仓库中。 此外,Spark能够从它有权访问的任何HDFS位置读取。
您的代码片段不同,并且您没有提及您尝试过的故障排除步骤。
我会将--split-by
、--fields-terminated-by
和--lines-terminated-by
参数添加到您的命令中。
以下工作:
sqoop import
--connect jdbc:oracle:thin:@999.999.999.999:1521/SIDNAME
--username user
--target-dir /xxx/yyy/zzz
--as-parquetfile
--table TABLE1
-P