如何将MySQL8.0中的数据通过sqoop导入到hdfs上
可以通过在sqoop中查看数据库的命令来确定数据库已经连接成功。
sqoop list-databases --connect "jdbc:mysql://IP:3306/?useSSL=false&serverTimezone=UTC" --username root --password root
在sqoop中将MySQL8.0中的表导入到hdfs上。
sqoop import --connect "jdbc:mysql://IP:3306/d1?useSSL=false&serverTimezone=UTC" --username root --password root --table score --target-dir '/sqoop/score' --fields-terminated-by ',' -m 1
其中“d1”是数据库名;
“useSSL=false&serverTimezone=UTC”是连接MySQL8.0要加上的;
target-dir后面跟的是在hdfs上指定的输出路径;
这个目录不能已经存在,否则会报错:
ERROR tool.ImportTool: Import failed: org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory hdfs://192.168.191.23:9000/sqoop/d1 already exists。