数据量过大,mysql支持不了。mysql只是个临时方案,最终大数据搭建好了以后,还是需要把mysql的数据,导入到hadoop中。
前面提到了另外一种导入方式,请参考:sqoop 从mysql直接导入到hive表。
1,在hive中创建表
create table `mytest` ( `log_date` int, `log_time` int, `aid` string, `ticket` string ) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n' STORED AS TEXTFILE;
2,mysql导出数据
注意:导出的文本文件,值不要带有双引号,单引号之类的。例如:
20190114 1547444359 28 aaaaaa 20190115 1547444390 28 bbbbb
3,导入数据到hive中
hive> LOAD DATA (LOCAL) INPATH '/root/mysql.txt' (overwrite) INTO TABLE mytest;
注意:
这里的local是你本机,如果去掉local,会去hdfs里面找。
默认是追加的方式,如果是overwrite,就是覆盖了。
转载请注明
作者:海底苍鹰
地址:http://blog.51yip.com/hadoop/2060.html