使用sqoop将数据从oracle导入到Hive

1、基本环境篇
    操作系统:Ubuntu 16.04 LTS
    Hadoop:2.9
2、安装及配置mysql
   (1)安装mysql
  $ sudo apt-get update
    $ sudo apt-get install mysql-server
   (2)启动mysql
         $ service mysql start
   (3)设置mysql开启自启动
$ sudo update-rc.d mysql enable
   (4)为Hive的metastore创建元数据库
进入mysql shell:   
$ mysql -u root -p
创建hive的metastore数据库:
mysql> create database hive;
为hive的metastore创建用户:
mysql> create user 'hive'@'localhost' identified by 'Hive12@!';
mysql> revoke all privileges,grant option from 'hive'@'localhost';
mysql> grant all privileges on hive.* to 'hive'@'localhost';
mysql> flush privileges;
3、安装及配置Hive
   (1)安装Hive
下载后将Hive安装到/usr/local:
$ sudo tar -zxf ~/下载/apache-hive-1.2.2-bin.tar.gz -C /usr/local
$ cd usr/local
$ sudo mv apache-hive-1.2.2-bin.tar.gz hive
$ sudo chown -R hadoop:hadoop hive    //hadoop:hadoop  为当前登录用户组及用户
   (2)配置Hive环境变量:
$ sudo vim ~/.bashrc
在文件最前方添加如下内容:
export HIVE_HOME=/usr/local/hive
export PATH=$PATH:$HIVE_HOME/bin
export HADOOP_HOME=/usr/local/hadoop //若已添加,此处不须重复添加
export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HIVE_HOME/lib/*
   (3)修改/usr/local/hive/conf下配置文件
$ cd /usr/local/hive/conf
$ sudo mv hive-default.xml.template hive-default.xml
$ sudo vim hive-site.xml
添加如下内容:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
     <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://localhost:3306/hive</value>
    <description>JDBC connect string for a JDBC metastore</description>
     </property>
     <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.jdbc.Driver</value>
    <description>Driver class name for a JDBC metastore</description>
     </property>
         <property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>hive</value>
    <description>username to use against metastore database</description>
     </property>
     <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>Hive12@!</value>
    <description>password to use against metastore database</description>
     </property>
   <property>
    <name>datanucleus.autoCreateSchema</name>
    <value>false</value>
     </property>
   <property>
    <name>datanucleus.fixedDatastore</name>
    <value>true</value>
     </property>
   <property>
    <name>datanucleus.autoStartMechanism</name>
    <value>SchemaTable</value>
     </property>
   <property>
    <name>hive.metastore.uris</name>
    <value>thrift://n.n.n.n:9083</value>
<description> IP adress or fully-qualified domain name of the metastore host</description>
     </property>
   <property>
    <name>hive.metastore.schema.verification</name>
    <value>true</value>
     </property>
</configuration>
   (4)为hive添加mysql-jdbc连接驱动
下载mysql jdbc包,并将其解压后复制到 /usr/local/hive/lib下:
$ tar -zxf ~/下载/mysql-connector-java-5.1.46.tar.gz
$ cd ~/下载/mysql-connector-java-5.1.46
$ cp mysql-connector-java-5.1.46-bin.jar /usr/local/hive/lib
   (5)使用schematool进行metastore初始化
$ schematool -dbType mysql -initSchema
   (6)启动metastore server
$ cd /usr/local/hive/bin
$ hive --service metastore
   (7)启动hive
$ hive
   (8)创建hive数据库
hive> create database oracledb;
4、安装及配置sqoop
   (1)下载并安装sqoop:
$ sudo tar -zxf ~/下载/sqoop-1.4.7.tar.gz -C /usr/local
$ cd /usr/local
$ sudo mv sqoop-1.4.7 sqoop
   (3)配置环境变量:
$ sudo vim ~/.bashrc
在文件中添加:
export SQOOP_HOME=/usr/local/sqoop
export PATH=$PATH:$SQOOP_HOME/bin
使环境变量生效:
$ source ~/.bashrc
   (4)配置sqoop:
$ cd /usr/local/sqoop/conf
$ sudo mv sqoop-env-template.sh sqoop-env.sh
$ sudo vim sqoop-env.sh
便捷文件将设置以下行的注释去掉,并添加路径:
export HADOOP_COMMON_HOME=/usr/local/hadoop
export HADOOP_MAPRED_HOME=/usr/local/hadoop
export HBASE_HOME=/usr/local/hbase
export HIVE_HOME=/usr/local/hive
export ZOOCFGDIR=/usr/local/zookeeper
5、下载并配置Oracle的java连接驱动
    (1)下载并将oracle的java驱动包复制到sqoop安装路径下的lib目录下。
6、将Oracle数据导入到Hive
$ cd /usr/local/sqoop/bin
$ sqoop import --hive-import --connect jdbc:oracle:thin:@172.18.9.25:1521:iesdb --username=ies_ms --password=iesapp --table KAIGUAN --hive-database oracledb -m 1
  • 14
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值