在mysql中建好錶後,匯入資料的時候使用了2種方法
1)由txt/xlsx/xls檔案匯入
網上步驟一步一步進行即可,位址鏈結
tips:使用該方法遇到的問題:
1、使用txt文件匯入資料時,即使txt文件資料和表字段一一選好,但還是會出現錯位的情況,不知為何在他匯入的時候會自己重新排插入表字段的順序,還是會對應不上;
2、使用xlsx/xls匯入資料時,字段缺少不能實現一一對應;
2)命令列 load
load data local infile 『檔案絕對路徑』 into table 表名 character set utf8 fields terminated by 『,』;
load data local infile 『g:/data/mr-ah-0628-pro_cit_day.txt』 into table table1 character set utf8 fields terminated by 『,』;
load data local infile 『g:/data_mysql/』 into table character set utf8 fields terminated by 『,』;
load data local infile 『g:/data_mysql/』 into table character set utf8 fields terminated by 『|』;
tips:
1、沒有遇到問題,但是要注意命令列在要操作的資料庫右鍵-> 命令列介面開啟 ,注意加上編碼和字段分隔符;
2、innodb預設是開啟事務的,如果我們把事務給停了,插入百萬級資料速度會快很多;
//停掉事務
set autocommit = 0;
//呼叫儲存過程
call ptestinndb;
//重啟事務
set autocommit = 1;
3)轉出資料(已經生成表和資料)
需要在cmd上執行
mysqldump -u *** -p -e xx 表名 > 路徑/匯出檔名.sql
4)sqoop本地檔案到mysql表sqoop eval --connect jdbc:mysql: --username root --password 123456 --query "load data local infile '/root/submit/mr_split/a.txt' into table table1 character set utf8 fields terminated by ',';"
5)sqoophdfs檔案到mysql表sqoop export \
--connect jdbc:mysql://hadoop001:3306/sqoop \
--username root \
--password 123456 \
--table emp_demo \
--export-dir /data/emp.txt \
-m 1 \
--verbose \
--fields-terminated-by '\t'
tips:
–table 指定mysql接收資料的表
–export-dir 指定從hdfs那個路徑下匯出資料
–verbose 列印更多資訊
–fields-terminated-by 『\t』 指定分隔符為\t 記住必須指定分隔符否則報錯
示例:sqoop export --connect jdbc:mysql: --table emp_demo --username root --password 111111 --export-dir /opt/hadoop/hive/ --input-fields-terminated-by '\t'
mysql匯入資料報錯error 1290
1)mysql匯出為本地檔案:
方法1:
select a.*,b.rru_related_sit_code from 庫.表名 as a join dim_sector as b on a.base_statn_id=b.base_statn_id and a.cell_id=b.cell_id and b.province_id=844 and b.day
=20200724 and a.province_id=844 and b.day
=20200724 into outfile 「g:/data_mysql/1.txt」 fields terminated by 『,』;
into outfile 「g:/data_mysql/1.txt」 fields terminated by 『,』;
方法2:
通過mysql select outfile的方式匯出資料
select id,name into outfile 「d:\temp\demo.txt」 fields terminated by 「,」 lines terminated by 『\r\n』
from demo;
方法3:
通過mysql select outfile 配合escaped by ''匯出資料
select id,name into outfile 「d:\temp\demo1.txt」 fields terminated by 「\t」 escaped by 『』 lines terminated by 『\r\n』
from demo;
方法4:
mysql外匯出資料
mysql -u*** -p *** -e 「」 | tr 「\t」 「,」 >> /.txt
2)mysql匯出為hdfs檔案
sqoop import --connect jdbc:mysql: --username root --password 111111 --table emp_demo --fields-terminated-by 『\t』 -m 1
hive 本地 hdfs資料匯入
1.1匯入內部表 1 本地或者hdfs匯入 load data local inpath filepath overwrite into tabletablename partition partcol1 val1,partcol2 val2 區別是看有無關鍵字local,有local表示從本地路徑...
Hive 表資料的匯出 匯入(HDFS 本地)
資料匯出 1 語法 load data local inpath 資料的path overwrite into table student partition partcol1 val1,1 load data 表示載入資料 2 local 表示從本地載入資料到hive表 否則從hdfs載入資料到h...
mysql本地匯入匯出 MySQL資料匯出與匯入
工具 mysql mysqldump 應用舉例 匯出匯出全庫備份到本地的目錄 mysqldump u user p passwd h127.0.0.1 p3306 routines default character set utf8 lock all tables add drop databas...