sqoop import \
--driver com.mysql.jdbc.Driver \
--username root \
--password 1234 \
--table t_area 需要放入那张表
#使用指定的输出目录 --target-dir /tmp \
#使用指定的并发数量 -m 2
sqoop import \
--driver com.mysql.jdbc.Driver \
--username root \
--password 1234 \
--table t_area \
--target-dir /sqoop \
-m 2
#使用sqoop将HDFS文件导出到 MYSQL 表中,默认MAP为 4个 ,先将空表建好t_area_copy1
sqoop export \
--driver com.mysql.jdbc.Driver \
--table t_area_copy1 \
--username root \
--password 1234 \
mysql导入到hive:
注意需要启动服务:hive服务开启 nohup hive --service metastore &
再来启动hive
#使用自定义的条件,并且过滤字段,并发数为1
#切分的字段可以更改为另外一个字段
sqoop import \
--hive-import \
--hive-table t_area \
--username root \
--password 1234 \
--query "SELECT * from t_area where \$CONDITIONS" \ //将mysql中的表导入到hive表t_area
--fields-terminated-by "," \ //按,分割,首先在hive中将表建好(z字段对应),并按,分割
--lines-terminated-by "\n" \
--target-dir /tmp/aa \ //临时存放的目录
-m 1
异常:org.apache.hadoop.hive.conf.HiveConf
Make sure HIVE_CONF_DIR is set correctly
解决:
在/etc/profile下面加上:
HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HIVE_HOME/lib/*
分布发送到其他主机上 source 一下
sqoop export \
将hive的数据导出到mysql:是通过hdfs中的路径导入到mysql中
如果需要通过导入指定行的话,需要建立中间表
--driver com.mysql.jdbc.Driver \
--table t_area1 \ //导入到mysql表t_area1
--username root \
--password 1234 \
--export-dir /user/hive/warehose/t_area \ 这个文件路径从hdfs上知道
--input-fields-terminated-by ‘,‘ 是以,分割的