大数据——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为基础数据库

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/466715.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LinuxC高级编程——线程

LinuxC高级编程——线程 宗旨&#xff1a;技术的学习是有限的&#xff0c;分享的精神是无限的。 一、线程基础 main函数和信号处理函数是同一个进程地址空间中的多个控制流程&#xff0c;多线程也是如 此&#xff0c;但是比信号处理函数更加灵活&#xff0c;信号处理函数的控制…

来自专业的RIA咨询strechmedia机构提供的Flex组件

具体内容见这里&#xff0c;其中最有用的是chart range selection组件&#xff0c;可以用作历史数据浏览和分析&#xff0c;不光能用slider来选择查看的范围&#xff0c;还能控制范围的大小&#xff0c;而且通过图形也能对range selection进行反向操作&#xff0c;非常酷&#…

年终了,肿一下

也没有没有跟大家好好唠唠&#xff0c;一年时间过得飞快&#xff0c;我还记得那时候从老家开车来深圳&#xff0c;一路狂奔&#xff0c;在广西入境广东的时候&#xff0c;因为疫情排查&#xff0c;我们在那里堵了3个小时&#xff0c;还因为路途颠簸&#xff0c;车子一起一停&am…

大数据——spark安装部署和python环境配置

需要配置多台服务器&#xff0c;实验环境&#xff1a;master和data两台服务器&#xff0c;已安装好hadoop&#xff0c;可参考前文&#xff01;&#xff01;&#xff01; 1.spark安装 master安装 &#xff08;1&#xff09;下载scala和spark &#xff08;2&#xff09;解压并…

LinuxC高级编程——线程间同步

LinuxC高级编程——线程间同步 宗旨&#xff1a;技术的学习是有限的&#xff0c;分享的精神是无限的。 1、 互斥锁mutex 多个线程同时访问共享数据时可能会冲突。对于多线程的程序&#xff0c;访问冲突的问题是很普遍的&#xff0c;解决的办法是引入互斥锁&#xff08;Mutex&a…

2021年,这是你们收到的第一份礼物

一、 前言大家好&#xff0c;2020年就要过去了&#xff0c;这一年来&#xff0c;感谢大家对公众号的支持&#xff0c;但是感谢不能停留在嘴上&#xff0c;所以&#xff0c;这次邀请了正点原子赞助。一起给大家送点礼品&#xff01;作为一名 电子/嵌入式 人&#xff0c;正点原子…

SQL SERVER自定义函数

SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- -- Author: captain -- Create date: 2008.05.05 -- Description: 删除垃圾代码 -- ALTER FUNCTION [fzdongmancn].[fun_deleteLj] ( old varchar(1000) ) RETURNS varchar(1000) AS BEGIN declare ind…

Python参考手册(第4版)pdf

下载地址&#xff1a;网盘下载内容简介 本书是权威的Python语言参考指南&#xff0c;内容涉及核心Python语言和Python库的最重要部分。本书内容简洁扼要、可读性强&#xff0c;书中还包括了一些没有在Python官方文档或其他资料中出现过的一些高级的主题。这一版在内容上进…

大数据学习-python通过Pyhive连接hive数据库

1.hbase和hive结合 &#xff08;1&#xff09;hbase建表添加数据 #test是表名&#xff0c;name是列族 #hbase可以一个列族里边多个字段 create test,name#添加数据 put test,1,name:t1,1 put test,1,name:t2,2#查询 scan test#查询 get 表名&#xff0c;row-key&#xff0c;列…

深入理解Linux内核进程上下文切换

在原作者基础上修改了些文字描述&#xff0c;让文章更加通俗易懂作者简介韩传华&#xff0c;就职于南京大鱼半导体有限公司&#xff0c;主要从事linux相关系统软件开发工作&#xff0c;负责Soc芯片BringUp及系统软件开发&#xff0c;乐于分享喜欢学习&#xff0c;喜欢专研Linux…

Linux C高级编程——网络编程基础(1)

Linux高级编程——BSD socket的网络编程 宗旨&#xff1a;技术的学习是有限的&#xff0c;分享的精神是无限的。 一网络通信基础 TCP/IP协议簇基础&#xff1a;之所以称TCP/IP是一个协议簇&#xff0c;是因为TCP/IP包含TCP 、IP、UDP、ICMP等多种协议。下图是OSI模型与TCP/IP模…

使用SQLDMO中“接口SQLDMO.Namelist 的 QueryInterface 失败”异常的解决方法

SQLDMO&#xff08;SQL Distributed Management Objects&#xff0c;SQL分布式管理对象&#xff09;&#xff0c;它封装 Microsoft SQL Server 数据库中的对象。它允许我们通过COM对象&#xff0c;对SQLServer进行管理。SQLDMO对象来自SQLDMO.dll。因为SQLDMO.dll是一个COM对象…

GetKeyState(), GetAsyncKeystate(), GetKeyboardSlate()

GetKeyState、GetAsyncKeyState、GetKeyboardState函数的差别&#xff1a; 1、BOOL GetKeyboardState( PBYTE lpKeyState );获得全部的256个键&#xff08;键盘按键、鼠标按键等等&#xff09;的状态&#xff0c;lpKeyState是指向一个256bit的数组。存放全部键的状态。 2、SHOR…

你月薪多少?

今天跟一个读友聊天&#xff0c;他刚毕业没多久&#xff0c;在一家方案公司上班&#xff0c;月薪6.5&#xff0c;做的Android 开发&#xff0c;用RK方案&#xff0c;有时候也需要做MCU相关的开发&#xff0c;事情多&#xff0c;压力也不少&#xff0c;而且不是双休&#xff0c;…

cx_Oracle安装出现的问题

1.安装cx_Oracle &#xff08;1&#xff09;在线安装 pip install cx_Oracle &#xff08;2&#xff09;源码安装 下载源码&#xff1a;https://pypi.org/project/cx-Oracle/ tar -zxvf cx_Oracle-8.1.0.tar.gz cd cx_Oracle-8.1.0 python setup.py install 2.测试 impo…

凡事想开,心情不坏~

制芰荷以为衣兮&#xff0c;集芙蓉以为裳。 不吾知其亦已兮&#xff0c;苟余情其信芳。 高余冠之岌岌兮&#xff0c;长余佩之陆离。 芳与泽其杂糅兮&#xff0c;唯昭质其犹未亏。 忽反顾以游目兮&#xff0c;将往观乎四荒。 佩缤纷其繁饰兮&#xff0c;芳菲菲其弥章。 民生各有…

Linux C高级编程——网络编程之以太网(2)

Linux网络编程——以太网 宗旨&#xff1a;技术的学习是有限的&#xff0c;分享的精神是无限的。 1、以太网帧格式 源地址和目的地址是指网卡的硬件地址&#xff08;也叫MAC地址&#xff09;&#xff0c;长度是48位&#xff0c;是在网卡出厂时固化的。用ifconfig命令查看&#…

Tomcat 打开jmx

jmx 配置后可以通过windows java客户端自带的jconsole.exe配置登陆&#xff0c;直观的查看jvm的情况及系统的各项指标&#xff1b; 一、配置linux下tomcat的jmx 具体配置如下&#xff0c;如果生产环境可以适当坐下调整。 # head /usr/local/tomcat/bin/catalina.sh #!/bin/shC…

Python学习——常见的字符串匹配

在处理字符串的时候&#xff0c;经常会有需要提取和替换的情况&#xff0c;记录自己常用的方法。 这个涉及正则表达式的用法&#xff0c;因为我是在Series的str属性在用&#xff0c;方法是同宗&#xff0c;存在略微格式的不一致。 1、替换str的中括号 Series.str.replace([\…

我不是编译器专家

这是王垠发表的一篇文章&#xff0c;转给大家看看&#xff0c;希望有些收获王垠是谁&#xff1f;王垠&#xff0c;四川大学97级本科毕业&#xff0c;保送到清华大学计算机系直博。期间曾在清华大学计算机系软件所就读&#xff0c;主要进行集成电路布线算法的研究。在此期间&…