大数据——sqoop操作mysql和hive导出导入数据
1.sqoop安装
(1)下载CDH版本的sqoop
(2)解压并进行环境配置
环境变量为:
export SQOOP_HOME=/home/sqoop-1.4.6-cdh5.15.1
export PATH=$PATH:$SQOOP_HOME/bin
在sqoop安装目录/conf/下:
#新建sqoop-env.sh文件
cp sqoop-env-template.sh sqoop-env.sh#增加环境变量
1、hadoop_home
2、hive_home
3、hbase_home
(3)启动测试
sqoop help
并连接测试
sqoop list-databases --connect jdbc:mysql://IP地址/数据库--username 数据库的用户名 --password 数据库密码
2.利用sqoop将mysql数据导入hdfs
sqoop import --connect jdbc:mysql://IP地址/数据库 --username 数据库用户名 --password 数据库密码 --table 表名 --driver com.mysql.jdbc.Driver (驱动)
成功界面:
存在的错误:
(1)提示java.lang.ClassNotFoundException: Class QueryResult not found
进入临时文件夹,
将jar包放在sqoop安装目录/lib下。
(2)提示org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory hdfs://192.168.99.250:9000/user/root/employees already exists
在hdfs里边把文件删除就行,命令:hadoop dfs -rmr /文件夹路径
(3)出现以下错误,是缺少java-json.jar,放在sqoop安装目录/lib下
3.利用sqoop将mysql数据导入hive
sqoop import --connect jdbc:mysql://192.168.99.16/test --username root --password root --table employees --hive-import --hive-table employees --driver com.mysql.jdbc.Driver
(1)新建表
成功!
查询hive:
(1)出现ERROR hive.HiveConfig: Could not load org.apache.hadoop.hive.conf.HiveConf. Make sure HIVE_CONF_DIR is set correctly.
往/etc/profile最后加入 export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HIVE_HOME/lib/*
然后刷新配置,source /etc/profile
4.利用sqoop将Hadoop数据导入mysql
(1)将本地数据上传到hdfs
(2)执行命令
sqoop export --connect jdbc:mysql://192.168.99.16/test --username root --password root --table employees_s --export-dir edata --columns first_name,salary,dept --driver com.mysql.jdbc.Driver --input-fields-terminated-by '\001' --input-null-string '\n' --input-null-non-string '\n'
错误原因:
字段不一致,编码不一致,改为utf-8。
5.利用sqoop将Hive数据导入mysql
(1)查看hive表在hdfs的保存路径
(2)导出
sqoop export --connect jdbc:mysql://192.168.99.16/test --username root --password root --table employees_s --export-dir /user/hive/warehouse/employees --driver com.mysql.jdbc.Driver --input-fields-terminated-by '\001' --input-null-string '\n' --input-null-non-string '\n'
需注意字段类型问题!
6.hive连接oracle为基础库
更改hive-site.xml的文件内容:
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:oracle:thin:@IP地址:端口号:实例名</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>oracle.jdbc.OracleDriver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>username</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>password</value>
</property></configuration>
重启hive服务
hive --service metastore &
7.hive连接Hbase为基础数据库
大数据——sqoop操作mysql和hive导出导入数据相关推荐
- mysql数据转储方法_Mysql数据库各种导出导入数据方式的区别(我的理解错误还望指正)...
mysqldump,NAVICAT转储,select * outfile在千级数据,万级,百万级数据下的表现. 千级数据 mysqldump导出sql文件 导出是出了拒绝访问的错误:为对应目录(.sq ...
- 如何使用 MySQL 的 IDE 导出导入数据表文件(以 Navicat for MySQL 导出导入 Excel 文件为例)
系列文章目录 关于更多 MySQL 数据库以及数据库 IDE 的问题大家可以移步本人专栏--MySQL 数据库. 文章目录 系列文章目录 前言 一.使用 Navicat 导出数据表 1.1.使用&qu ...
- MySQL使用命令导出/导入数据
导出数据库文件 常用命令 mysqldump -uroot -pMyPassword databaseName tableName1 tableName2 > /home/foo.sql mys ...
- 利用itext操作pdf从数据库导出大量数据--添加水印(四)
[原始需求] 通过SQL及JDBC模式导出各类业务数据,以PDF文件格式存放,要求该文件只能查看和打印(不能编辑和篡改),文件要有公司相关标志和水印功能. [需求分析] 1. 通过SQL及JDBC模式 ...
- 利用itext操作pdf从数据库导出大量数据--功能汇总(一)
[原始需求] 通过SQL及JDBC模式导出各类业务数据,以PDF文件格式存放,要求该文件只能查看和打印(不能编辑和篡改),文件要有公司相关标志和水印功能. [需求分析] 1. 通过SQL及JDBC模式 ...
- mysql 软件导出导入数据_MySQL 之 导出导入数据
mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u root -p --databases db_name > test_db.sql ...
- Hive导出复杂数据到csv文件
工作中经常遇到使用Hive导出数据到文本文件供数据分析时使用.Hive导出复杂数据到csv等文本文件时,有时会遇到以下几个问题: 导出的数据只有数据没有列名. 导出的数据比较复杂时,如字符串内包含一些 ...
- mysql 导入导出 csv_mysql 导出导入数据 -csv
MySql数据库导出csv文件命令: mysql> select first_name,last_name,email from account into outfile 'e://output ...
- 微信小程序云开发——常用功能2:操作云数据库一键批量导入数据(导入json文件)
微信小程序云开发--常用功能2:操作云数据库一键批量导入数据(导入json文件) 今天我们要添加100条数据.下面的过程是先创建一条记录,然后导出这条数据看json文件中是如何编辑字段的,然后仿照这个 ...
最新文章
- 算法必知 --- LRU缓存淘汰算法
- 超全大厂数据结构面试
- (0103)iOS开发之Xcode 10 Error:Multiple commands produce问题及解决方案
- python迷宫小游戏大全_C课程设计迷宫小游戏
- 2020年,从提升认知开始
- Windows访问Ubuntu8.10分区
- PhpStorm+Xdebug断点调试环境搭建
- 菜鸟教程中Java语法(Java教程+Java面向对象)
- 疯了,要建飞铁!比飞机快3倍,4000km/h,北京到深圳半小时
- 转SQLSERVER 会不会自动加锁
- 去宇宙条面试被问:HashMap 为什么线程不安全?
- 【NodeJS 学习笔记03】先运行起来再说
- mysql 4,mysql 4.1,mysql 数据库中文问题
- python的string与Unicode转换,gbk字符串编码
- Axure share如何自适应手机屏幕
- Word中如何删除分隔符?
- LeetCode 1429. First Unique Number
- 403 forbidden
- php 圆角的度数计算,【圆角度的计算公式是什么】-圆的角度公式-数学-沃捍瞻同学...
- 北京极简智能科技有限公司正式加入信创运维工作组
热门文章
- nls_lang.sh: 114: [[: not found
- ASP.NET 2.0新特性视频教程下载
- yum查询已经安装mysql_通过yum安装mysql
- 硬盘显示容量和实际容量不符合_买移动固态硬盘纠结大半天?花2分钟看完这篇,购买时不再被坑...
- 关于异常:HttpURLConnectionImpl cannot be cast to javax.net.ssl.HttpsURLConnection的解决办法
- 操作系统内存分配算法_操作系统基础45-伙伴系统和slab内存分配
- 以太坊java接口_java以太坊库web3j文档
- java二级考试备考_2017计算机二级考试《JAVA》备考测试题「带答案」
- 火山去水印链接_在线批量去水印下载快手图集视频、抖音、火山等平台方法技巧!...
- mysql对表中添加属性_菜鸟笔记—数据分析师MySQL篇(一)