Sqoop导入:命令--password:命令未找到,--table:命令未找到
我必须编写一个scoop导入脚本,它从数据la_crime中仅从2016年起提取某些列我的脚本低于“Sqoop导入:命令--password:命令未找到,--table:命令未找到
sqoop import \
--connect jdbc:mysql://XXXXXXXXXXX \
--driver com.mysql.jdbc.Driver \
--username XXXX \
--password XXXX \
--table la_crime \
--query "SELECT DR_NUMBER,DATE_REPORTED,DATE_OCCURED,TIME_OCCURED,AREA_ID,AREA_N AME,REPORTING_DISTRICT,CRIME_CODE,CRIME_CODE_DESC,VICTIM_AGE,VICTIM _GENDER,VICTIM_DESCENT,ADDRESS,CROSS_STREET,AUTO_ID FROM la_crime WHERE\$YEAR=2016\
--target-dir /user/sqoop_script \
-m 1
你能告诉我,如果我的代码是错的地方我有什么变化,使
您可以使用下面的语法来导入:??
sqoop进口\
--connect JDBC:MySQL的://本地主机/ yourdatabase \
--driver com.mysql.jdbc.Driver \
--username XXXX \
--password XXXX \
--table la_crime \
--query“SELECT DR_NUMBER,DATE_REPORTED,DATE_OCCURED,TIME_OCCURED,AREA_ID,AREA_N AME,REPORTING_DISTRICT,CRIME_CODE,CRIME_CODE_DESC,VICTIM_AGE,V ICTIM _gender,VICTIM_DESCENT,ADDRESS,CROSS_STREET,AUTO_ID FROM la_crime WHERE $ YEAR = 2016' \
--target-DIR /用户/ sqoop_script \
-m 1
详情,请参阅“ Sqoop User Guide“。
您尝试的命令在query
选项中有些问题,首先需要在最后关闭双引号。其次,对于我来说,使用变量来指定过滤年份的列似乎很奇怪。
;第三,如果使用query
选项是强制性的,以包括$CONDITIONS
令牌既然你使用双引号来发出查询你需要\$CONDITIONS
而不是仅仅$CONDITIONS
来把它当作一个shell禁止你的shell变量。
此外,如果您使用的是query
选项,则不应使用table
选项。
我认为这将是你要找的命令:
sqoop import \
--connect jdbc:mysql://XXXXXXXXXXX \
--driver com.mysql.jdbc.Driver \
--username XXXX \
--password XXXX \
--query "SELECT DR_NUMBER,DATE_REPORTED,DATE_OCCURED,TIME_OCCURED,AREA_ID,AREA_N AME,REPORTING_DISTRICT,CRIME_CODE,CRIME_CODE_DESC,VICTIM_AGE,VICTIM _GENDER,VICTIM_DESCENT,ADDRESS,CROSS_STREET,AUTO_ID FROM la_crime WHERE YEAR = 2016 AND $CONDITIONS" \
--target-dir /user/sqoop_script \
-m 1