1、HIVE数据导入到mysql
(1) shell脚本 连接数据库 创建对应表信息
mysql -hIP地址 -u用户名 -p密码 数据库 -P16063 -e"执行sql脚本"
(2) 通过sqoop 导出数据到mysql
sqoop export -Dmapred.job.queue.name=队列名称 \ --connect "" \ --username "${mysql_user}" \ --password ${mysql_pass} \ --table 表名 \ --export-dir /user/hive/warehouse/数据库名.db/表名 \ --input-fields-terminated-by '数据分隔符'
注意:
hive结果表格式需text格式 并且指定其分隔符
mysql 建表需与hive表字段顺序保持一致
mysql 建表是需注意主键约束 数据中存在相同的数据导入会失败
mysql 建表需注意字段长度 结合数据设置字段长度
mysql 建表需注意主键字段需not null
2、HIVE数据导入到mysql
(1) 通过hdfs表数据源路径将数据下载到本地
hdfs dfs -getmerge hive表源数据路径 导出的文件名
(2) 连接mysql 导入数据
mysql -h IP地址 -P 16063 -u 用户名 -p密码 -D 数据库 -A <<EOF mysql 语句; load date local infile '源数据文件名' into table 表名 fields terminated by '|'; EOF
3、Oracle 数据库 数据导入
(1) 创建ctl格式文件 保证数据文件第一行就是数据
load data CHARACTERSET UTF8 infile 'path/file.txt' replace into table table_name fields terminated by "," trailing nullcols ( col1, col2, col3, col4 DATE "yyyy-mm-dd hh24:mi:ss" , col5 )
(2)通过sqlldr 执行ctl格式文件
sqlldr 'user/"password"@IP:port/databasedb' control=path/test.ctl log=file_log.log bad=file_bad.bad errors=100000 rows=10000 streamsize=10485760 date_cache=3000 direct=y
4、Oracle 数据库 数据导出
(1)导出dmp:exp 用户名/密码@oracle 的连接地址:端口/需要导出的服务名 file=路径/文件名.dmp log=e:/hbdw.log full=y;
(2)导入dmp:imp 用户名/密码@oracle 的连接地址:端口/需要导出的服务名 file=路径/文件名.dmp
(3)Oracle 通过PL/SQLDeveloper 实现导入导出
5、Mysql 数据导出
select * from tb_words into outfile '/home/fuyun/datas/words.txt' fields terminated by ',' enclosed by '"' lines terminated by '\n';
整库导出,只会导出sql语句
mysqldump -u root -p test > /temp/database_dump.sql
备份所有库数据,只会导出sql语句
mysqldump -u root -p --all-databases > all_databases_dump.sql
将指定主机的数据库拷贝到本地
mysqldump -h other-host -P port -u root -p database_name > dump.txt
注意两个服务器之间是否相通
第三方软件导入导出
标签:--,数据库,导出,导入,mysql,数据 From: https://www.cnblogs.com/zhongxuzhi/p/16624411.html