sqoop介绍
Sqoop依赖与hadoop
底层的数据传输实现map/reduceyarn 只有map任务
因为官网sqoop没有hadoop2.5对应的版本,要根据hadoop的版本进行编译(好像不用对应版本也可以,不过建议最好对应版本)。所以这里使用CDH,选择cdh对应的sqoop版本。比较稳定。去Cloudera的官网下载相应的发布版本号 http;//archive.cloudera.com/cdh5/
sqoop数据的功能完全可以使用spark代替,基于历史原来很多原来的框架或者平台使用sqoop导出导入数据。
Sqoop: SQL to Hadoop
场景:数据在RDBMS中,我们如何使用Hive或者Hadoop来进行数据分析呢?
1)RDBMS ==> Hadoop
2)Hadoop ==> RDBMS
MapReduce InputFormat OutputFormat
Sqoop:RDBMS和Hadoop之间的一个桥梁
Sqoop 1.x: 1.4.7 ---1.0足够日常工作90%场景使用
底层是通过MapReduce来实现的,而且是只有map没有reduce的
ruozedata.person ===> HDFS
jdbc
Sqoop 2.x: 1.99.7 -----不常用
RDBMS <==> Hadoop 出发点是Hadoop
导入:RDBMS ==> Hadoop
导出:Hadoop ==> RDBMS
1.1 sqoop框架
1.2 sqoop部署
wget http://archive.cloudera.com/cdh5/cdh/5/sqoop-1.4.6-cdh5.7.0.tar.gz
tar -zxvf xxxxx -C ~/app
exportSQOOP_HOME=/home/hadoop/app/sqoop-1.4.6-cdh5.7.0
export PATH=$SQOOP_HOME/bin:$PATH
$SQOOP_HOME/conf/sqoop-env.sh
export HADOOP_COMMON_HOME=/home/hadoop/app/hadoop-2.6.0-cdh5.7.0
exportHADOOP_MAPRED_HOME=/home/hadoop/app/hadoop-2.6.0-cdh5.7.0
exportHIVE_HOME=/home/hadoop/app/hive-1.1.0-cdh5.7.0
1.3 sqoop常用操作
拷贝mysql驱动到$SQOOP_HOME/lib
[hadoop@hadoop05 lib]$ cpmysql-connector-java-5.1.46.jar /home/hadoop/app/sqoop/lib/
sqoop导入
sqoop list-tables \
--connectjdbc:mysql://localhost:3306/ruozedata_basic03 \
--username root --password root
1.3.1 sqoop导入mysql-->hdfs
RDBMS ==> HDFS
sqoop import \
--connect jdbc:mysql://localhost:3306/sqoop\
--username root --password root \
--table emp -m 2 \
--mapreduce-job-name FromMySQLToHDFS \
--delete-target-dir \
--columns"EMPNO,ENAME,JOB,SAL,COMM" \
--target-dir EMP_COLUMN_WHERE \
--fields-terminated-by '\t' \
--null-string '' --null-non-string '0' \
--where 'SAL>2000'
默认:
-m4
emp
emp.jar
sqoop import \
--connect jdbc:mysql://localhost:3306/sqoop\
--username root --password root \
-m 2 \
--mapreduce-job-name FromMySQLToHDFS \
--delete-target-dir \
--target-dir EMP_COLUMN_QUERY \
--fields-terminated-by '\t' \
--null-string '' --null-non-string '0' \
--query "SELECT * FROM emp WHEREEMPNO>=7566 AND \$CONDITIONS" \
--split-by 'EMPNO'
sqoop eval \
--connect jdbc:mysql://localhost:3306/sqoop\
--username root --password root \
--query 'select * from emp'
emp.opt
import
--connect
jdbc:mysql://localhost:3306/sqoop
--username
root
--password
root
--table
emp
--delete-target-dir
sqoop --options-file emp.opt
1.3.2 sqoop 导出FromHDFSToMySQL
sqoop export \
--connect jdbc:mysql://localhost:3306/sqoop\
--username root --password root \
-m 2 \
--mapreduce-job-name FromHDFSToMySQL \
--table emp_demo \
--export-dir /user/hadoop/emp
1.3.3 sqoop导入mysql-->HIVE
sqoop import \
--connect jdbc:mysql://localhost:3306/sqoop\
--username root --password root \
--table emp -m 2 \
--mapreduce-job-name FromMySQLToHive \
--delete-target-dir \
--hive-database ruozedata \
--hive-table ruozedata_emp_partition \
--hive-import \
--hive-partition-key 'pt' \
--hive-partition-value '2018-08-08' \
--fields-terminated-by '\t'--hive-overwrite
--create-hive-table不建议使用,建议大家先创建一个hive表再进行sqoop导入数据到hive表
create table ruozedata_emp_partition
(empno int, ename string, job string, mgrint, hiredate string, salary double, comm double, deptno int)
partitioned by (pt string)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
Hive的数据:HDFS
HDFS2MySQL== Hive2MySQL
sqoop job --create ruozejob -- \
import \
--connect jdbc:mysql://localhost:3306/sqoop\
--username root --password root \
--table emp -m 2 \
--mapreduce-job-name FromMySQLToHDFS \
--delete-target-dir
crontab
job
--options-file
1.3.4 sqoop导出Hive ToMySQL
--- [hadoop@hadoop05 ~]$ sqoop export --help 参数帮助
sqoop export \
--connect jdbc:mysql://hadoop0:3306/hivedb\
--username root \
--password 123456 \
--mapreduce-job-name FromHiveToMySQL \
--table results \
--export-dir/user/hive/warehouse/hive.db/results \
--input-fields-terminated-by '\t'
1.4 总结:
sqoop参数特别多,推荐使用opt方式编写脚本,如果有遇到参数单引号和双引号,特别注意里面的特殊字符的转义。
需求:统计各个区域下最热门的TOP3的商品
1) MySQL: city_info 静态
2) MySQL: product_info 静态
DROPTABLE product_info;
CREATETABLE `product_info` (
`product_id` int(11) DEFAULT NULL,
`product_name` varchar(255) DEFAULT NULL,
`extend_info` varchar(255) DEFAULT NULL
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
3) Hive: user_click 用户行为日志 date分区
user_id int
session_id string
action_time string
city_id int
product_id int
实现需求:
1) city_info ===> hive
2) product_info ===> hive
3) 三表的join 取 TOP3(按区域进行分组) 按天分区表
最终的统计结果字段如下:
product_id 商品ID
product_name 商品名称
area 区域
click_count 点击数/访问量
rank 排名
day 时间
====> MySQL
day : 20180808
hive 2 mysql: delete xxx from whereday='20180808'
1、mysql建表 CREATE TABLE `city_info` ( `city_id` int(11) DEFAULT NULL, `city_name` varchar(255) DEFAULT NULL, `area` varchar(255) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
insert into `city_info`(`city_id`,`city_name`,`area`) values (1,'BEIJING','NC'), (2,'SHANGHAI','EC'),(3,'NANJING','EC'),(4,'GUANGZHOU','SC'),(5,'SANYA','SC'),(6,' WUHAN','CC'),(7,'CHANGSHA','CC'),(8,'XIAN','NW'),(9,'CHENGDU','SW'),(10,'HAERBIN' ,'NE');
[hadoop@hadoop05 data]$ mysql -uroot -P3308 -h172.16.18.153 -p123456 -D ruozedata_basic03 mysql> source city_info.sql Query OK, 1 row affected (0.02 sec) Query OK, 0 rows affected (0.02 sec) Query OK, 10 rows affected (0.01 sec) Records: 10 Duplicates: 0 Warnings: 0 mysql> CREATE TABLE `product_info` ( -> `product_id` int(11) DEFAULT NULL, -> `product_name` varchar(255) DEFAULT NULL, -> `extend_info` varchar(255) DEFAULT NULL -> ) ENGINE=InnoDB DEFAULT CHARSET=utf8; Query OK, 0 rows affected (0.01 sec) mysql> source product_info.sql Query OK, 1 row affected (0.00 sec) Query OK, 1 row affected (0.01 sec) 2、hive建立分区表 hive> create table user_clik( > user_id int, > session_id string, > action_time string, > city_id int, > product_id int > ) > partitioned by (day string) > row format delimited fields terminated by '\t'; OK Time taken: 0.134 seconds hive> desc user_clik; OK user_id int session_id string action_time string city_id int product_id int day string
# Partition Information # col_name data_type comment
day string Time taken: 0.217 seconds, Fetched: 11 row(s) 3、数据导入前将数据中^A字符处理掉 cat -v user_click.txt |sed 's/\^A//g' >user_click2.txt 53,^A561e94c2fa99467d956a26d55aab3cb6^A,2016-05-05 3:10:07^A,9,18 ---处理前的数据 53,561e94c2fa99467d956a26d55aab3cb6,2016-05-05 3:10:07,9,18 ---处理后的数据 --导入字段 hive> LOAD DATA LOCAL INPATH '/home/hadoop/data/user_click.txt' > OVERWRITE INTO TABLE user_clik > PARTITION(day='2016-05-05'); ---分区字段名称我们随便指定,就像相当于建立一个分区,分区叫2016-05-05,我们的数据全部导入到这个分区中 Loading data to table hive.user_clik partition (day=2016-05-05) Failed with exception MetaException(message:Error(s) were found while auto-creating/validating the datastore for classes. The errors are printed in the log, and are attached to this exception.) FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.MoveTask 分析:我们的数据库默认的字符集已经不是latin1;需要将meta数据表字符集改为lantin1 Tail -f /tmp/hadoop/hive.log com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Specified key was too long; max key length is 3072 bytes alter table PARTITION_KEYS convert to character set latin1; 将meta数据表PARTITION_KEYS字符集,还是报错,那就是还有表需要改字符集 ---将meta整个数据库字符集改为latin1; alter database ruozedata_basic03 character set latin1; mysql> alter database ruozedata_basic03 character set latin1; Query OK, 1 row affected (0.02 sec) hive> LOAD DATA LOCAL INPATH '/home/hadoop/data/user_click.txt' > OVERWRITE INTO TABLE user_clik > PARTITION(day='2016-05-05'); Loading data to table hive.user_clik partition (day=2016-05-05) Partition hive.user_clik{day=2016-05-05} stats: [numFiles=1, numRows=0, totalSize=725264, rawDataSize=0] OK Time taken: 1.061 seconds hive> 4、将两个静态数据sqoop导入到hive中 先创建一个hive表再进行sqoop导入数据到hive CREATE TABLE `city_info` ( `city_id` int, `city_name` string, `area` string )ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' ; CREATE TABLE `product_info` ( `product_id` int, `product_name` string, `extend_info` string ) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' ; 表没有主键 m=1 18/05/22 13:22:06 ERROR tool.ImportTool: Error during import: No primary key could be found for table city_info. Please specify one with --split-by or perform a sequential import with '-m 1'. sqoop import \ --connect jdbc:mysql://172.16.18.153:3308/hivedb \ --username root \ --password 123456 \ --table city_info \ --m 1 \ --mapreduce-job-name FromMySQLToHive \ --hive-database hive \ --hive-table city_info \ --hive-import \ --fields-terminated-by '\t' \ --delete-target-dir \ --hive-overwrite sqoop import \ --connect jdbc:mysql://172.16.18.153:3308/hivedb \ --username root \ --password 123456 \ --table product_info \ --m 1 \ --mapreduce-job-name FromMySQLToHive \ --hive-database hive \ --hive-table product_info \ --hive-import \ --fields-terminated-by '\t' \ --delete-target-dir \ --hive-overwrite 18/05/22 13:36:03 INFO mapreduce.ImportJobBase: Beginning import of city_info Exception in thread "main" java.lang.NoClassDefFoundError: org/json/JSONObject at org.apache.sqoop.util.SqoopJsonUtil.getJsonStringforMap(SqoopJsonUtil.java:43) at org.apache.sqoop.SqoopOptions.writeProperties(SqoopOptions.java:758) at org.apache.sqoop.mapreduce.JobBase.putSqoopOptionsToConfiguration(JobBase.java:369) at org.apache.sqoop.mapreduce.JobBase.createJob(JobBase.java:355) at org.apache.sqoop.mapreduce.ImportJobBase.runImport(ImportJobBase.java:256) at org.apache.sqoop.manager.SqlManager.importTable(SqlManager.java:692) at org.apache.sqoop.manager.MySQLManager.importTable(MySQLManager.java:127) at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:507) at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:615) at org.apache.sqoop.Sqoop.run(Sqoop.java:143) at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70) at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:179) at org.apache.sqoop.Sqoop.runTool(Sqoop.java:218) at org.apache.sqoop.Sqoop.runTool(Sqoop.java:227) at org.apache.sqoop.Sqoop.main(Sqoop.java:236) Caused by: java.lang.ClassNotFoundException: org.json.JSONObject at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:425) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:358) ... 15 more 分析:确实java_json.jar包 下载java_json.jar 导入java-json.jar包, 下载地址http://www.java2s.com/Code/Jar/j/Downloadjavajsonjar.htm, 把java-json.jar添加到../sqoop/lib目录
问题2: 18/05/22 13:39:13 ERROR hive.HiveConfig: Could not load org.apache.hadoop.hive.conf.HiveConf. Make sure HIVE_CONF_DIR is set correctly. 18/05/22 13:39:13 ERROR tool.ImportTool: Encountered IOException running import job: java.io.IOException: java.lang.ClassNotFoundException: org.apache.hadoop.hive.conf.HiveConf at org.apache.sqoop.hive.HiveConfig.getHiveConf(HiveConfig.java:50) at org.apache.sqoop.hive.HiveImport.getHiveArgs(HiveImport.java:392) at org.apache.sqoop.hive.HiveImport.executeExternalHiveScript(HiveImport.java:379) at org.apache.sqoop.hive.HiveImport.executeScript(HiveImport.java:337) at org.apache.sqoop.hive.HiveImport.importTable(HiveImport.java:241) at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:524) at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:615) at org.apache.sqoop.Sqoop.run(Sqoop.java:143) at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70) at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:179) at org.apache.sqoop.Sqoop.runTool(Sqoop.java:218) at org.apache.sqoop.Sqoop.runTool(Sqoop.java:227) at org.apache.sqoop.Sqoop.main(Sqoop.java:236) Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hive.conf.HiveConf at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:425) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:358) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:191) at org.apache.sqoop.hive.HiveConfig.getHiveConf(HiveConfig.java:44) 分析: 找不到hive相关的配置路径库文件,配置lib路径,如果还不行就是缺少连接hive 驱动lib包,和连接mysql驱动jar一样 vim .bash_profile export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$HADOOP_HOME/lib:$CLASSPATH:$SQOOP_HOME/lib 添加sqoop库文件路径到环境变量 将hive的jar包拷贝到sqoop/lib/ [hadoop@hadoop05 lib]$ cp hive-exec-1.1.0-cdh5.9.0.jar ../../sqoop/lib/ [hadoop@hadoop05 lib]$ pwd /home/hadoop/app/hive/lib [hadoop@hadoop05 lib]$
select c.area,p.product_name,count(u.product_id) from user_click u left join city_info c on u.city_id=c.city_id left join product_info p on u.product_id=p.product_id AND u.day='2016-05-05' group by c.area,p.product_name; select * from ( select aa.area,aa.name,aa.ct, row_number() over(partition by aa.area order by ct desc) as rn from ( select c.area area,p.product_name name,count(t.product_id) ct from user_clik t left join city_info c on t.city_id=c.city_id left join product_info p on t.product_id=p.product_id where t.day='2016-05-05' group by c.area,p.product_name) aa ) tt where tt.rn<=3;
select * from ( select aa.area,aa.name,aa.ct, row_number() over(partition by aa.area order by ct desc) as rn from ( select c.area area,p.product_name name,count(t.product_id) ct from user_clik t left join city_info c on t.city_id=c.city_id left join product_info p on t.product_id=p.product_id where t.day='2016-05-05' and t.city_id is not NULL group by c.area,p.product_name) aa ) tt where tt.rn<=3; select * from ( select aa.area,aa.name,aa.ct, row_number() over(partition by aa.area order by ct desc) as rn from ( select c.area area,p.product_name name,count(t.product_id) ct from city_info c left join user_clik t on t.city_id=c.city_id left join product_info p on t.product_id=p.product_id where t.day='2016-05-05' and t.city_id is not NULL group by c.area,p.product_name) aa ) tt where tt.rn<=3; 以区域关联,排查区域为空的3条数据 将这个数据存放到一个计算中间表中,如果将中间表导出到mysql中, 1.4.1.1 Hive最终结果表CREATE TABLE `results` ( `city_name` string, `product_name` string, `count` int, rank int ) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' ; Hive计算结果数据保存 Hive计算结果数据之间保存到hive中,(也可保存到本地文件系统,hdfs上都可以) insert overwrite table results select * from ( select aa.area,aa.name,aa.ct, row_number() over(partition by aa.area order by ct desc) as rn from ( select c.area area,p.product_name name,count(t.product_id) ct from city_info c left join user_clik t on t.city_id=c.city_id left join product_info p on t.product_id=p.product_id where t.day='2016-05-05' and t.city_id is not NULL group by c.area,p.product_name) aa ) tt where tt.rn<=3; 将结果数据从hive中sqoop导出到mysql中 导入过程报错 re. Consider using -P instead. 18/05/22 17:33:37 INFO manager.MySQLManager: Preparing to use a MySQL streaming r 18/05/22 17:33:37 INFO tool.CodeGenTool: Beginning code generation 18/05/22 17:33:37 ERROR manager.SqlManager: Error executing statement: com.mysql.ns.jdbc4.CommunicationsException: Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driveeived any packets from the server. com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link fail The last packet sent successfully to the server was 0 milliseconds ago. The driveeived any packets from the server. at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructo.java:57) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingCossorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:526) at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:99 at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:342) at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2188) at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:22 at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2016) at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:776) at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructo.java:57) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingCossorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:526) at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:386) at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java: at java.sql.DriverManager.getConnection(DriverManager.java:571) at java.sql.DriverManager.getConnection(DriverManager.java:215) at org.apache.sqoop.manager.SqlManager.makeConnection(SqlManager.java:904 at org.apache.sqoop.manager.GenericJdbcManager.getConnection(GenericJdbcM2) at org.apache.sqoop.manager.SqlManager.execute(SqlManager.java:763) at org.apache.sqoop.manager.SqlManager.execute(SqlManager.java:786) at org.apache.sqoop.manager.SqlManager.getColumnInfoForRawQuery(SqlManage at org.apache.sqoop.manager.SqlManager.getColumnTypesForRawQuery(SqlManag at org.apache.sqoop.manager.SqlManager.getColumnTypes(SqlManager.java:246 at org.apache.sqoop.manager.ConnManager.getColumnTypes(ConnManager.java:3 at org.apache.sqoop.orm.ClassWriter.getColumnTypes(ClassWriter.java:1853) at org.apache.sqoop.orm.ClassWriter.generate(ClassWriter.java:1653) at org.apache.sqoop.tool.CodeGenTool.generateORM(CodeGenTool.java:107) at org.apache.sqoop.tool.ExportTool.exportTable(ExportTool.java:64) at org.apache.sqoop.tool.ExportTool.run(ExportTool.java:100) at org.apache.sqoop.Sqoop.run(Sqoop.java:143) at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70) at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:179) at org.apache.sqoop.Sqoop.runTool(Sqoop.java:218) at org.apache.sqoop.Sqoop.runTool(Sqoop.java:227) at org.apache.sqoop.Sqoop.main(Sqoop.java:236) Caused by: java.net.UnknownHostException: hadoop0 at java.net.Inet4AddressImpl.lookupAllHostAddr(Native Method) at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:901) at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1295 at java.net.InetAddress.getAllByName0(InetAddress.java:1248) at java.net.InetAddress.getAllByName(InetAddress.java:1164) at java.net.InetAddress.getAllByName(InetAddress.java:1098) at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.jav at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:301) ... 33 more 18/05/22 17:33:37 ERROR tool.ExportTool: Encountered IOException running export jOException: No columns to generate for ClassWriter ---建立mysql表 CREATE TABLE ` results` ( city_name varchar(255) DEFAULT NULL, product_name varchar(255) DEFAULT NULL, count int(8) DEFAULT NULL, rank int(8) default null ) ENGINE=InnoDB DEFAULT CHARSET=utf8; sqoop export \ --connect jdbc:mysql://172.16.18.153:3308/hivedb \ --username root \ --password 123456 \ --mapreduce-job-name FromHiveToMySQL \ --table results \ --export-dir /user/hive/warehouse/hive.db/results \ --input-fields-terminated-by '\t' --connect jdbc:mysql://172.16.18.153:3308/hivedb ---导入到哪个mysql库 Hive的meta数据配置文件里面已经配置好了,不要和这的mysql库混一起了 ---mysql查询数据 |
报错提示:
|