亚洲精品美女久久久久久久-四川少妇搡bbw搡bbbb-精品免费国产一区二区三区四区,差差差很疼30分钟的视频,蜜桃成人无码区免费视频网站,免费人成视频x8x8

18600329666

咨詢技術專家

掃一掃
與技術專家在線溝通

Menu
hive數據同步工具Sqoop的使用
          hive數據同步工具Sqoop的使用,sqoop是一款hive大數據倉庫數據同步工具,可以將mysql,oracle等關系型數據的數據同步至hive大數據倉庫中,也可以將hive表中的數據同步到關系型數據庫中,sqoop的使用分三步
sqoop大數據導入工具
  一、下載安裝
      1.下載:因為官方并不建議在生產環境中使用1.99.7版本,所以我們還是等2.0版本出來在用新的吧,現在依然使用1.4.6版本,官方下載地址:sqoop.apache.org,下載后傳到某目錄下
2.安裝: 
進入到該目錄下,執行解壓縮,也就是執行命令:
         cd    /opt/sqoop
         tar   -xvf    sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz
          命令執行完成后得到了/opt/sqoop/sqoop-1.4.7.bin__hadoop-2.6.0目錄
二、配置

         
     1.環境變量配置:
       編輯/etc/profile文件,添加SQOOP_HOME變量,并且將$SQOOP_HOME/bin添加到PATH變量中,編輯方法很多,可以將profile文件下載到本地編輯,也可以直接用vim命令編輯。
 
         添加的內容如下:
 
        export  JAVA_HOME=/opt/java/jdk1.8.0_121
         export  HADOOP_HOME=/opt/hadoop/hadoop-2.8.0
export  HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop
export  HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_HOME}/lib/native
export  HADOOP_OPTS="-Djava.library.path=${HADOOP_HOME}/lib"
export  HIVE_HOME=/opt/hive/apache-hive-2.1.1-bin
export  HIVE_CONF_DIR=${HIVE_HOME}/conf
export  SQOOP_HOME=/opt/sqoop/sqoop-1.4.7.bin__hadoop-2.6.0
export  CLASS_PATH=.:${JAVA_HOME}/lib:${HIVE_HOME}/lib:$CLASS_PATH
export  PATH=.:${JAVA_HOME}/bin:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin: ${HIVE_HOME}/bin:${SQOOP_HOME}/bin:$PATH
 
      2.sqoop配置文件配置
/wwwdata/sqoop-1.4.7.bin__hadoop-2.6.0
 /etc/profile文件編輯完成后,執行命令:
   source    /etc/profile
  進入到/opt/sqoop/sqoop-1.4.7.bin__hadoop-2.6.0/conf目錄下,也就是執行命令:
cd     /opt/sqoop//sqoop-1.4.7.bin__hadoop-2.6.0/conf
      將sqoop-env-template.sh復制一份,并取名為sqoop-env.sh,也就是執行命令:
cp    sqoop-env-template.sh  sqoop-env.sh
編輯這個新建的sqoop-env.sh文件,編輯方法有很多,可以下載到本地編輯,也可是使用vim命令編輯。
       在該文件末尾加入下面的配置:
export  HADOOP_COMMON_HOME=/wwwdata/hadoop-2.6.0-cdh5.13.0
export  HADOOP_MAPRED_HOME=/wwwdata/hadoop-2.6.0-cdh5.13.0
export  HIVE_HOME=/wwwdata/apache-hive-3.0.0-bin
       說明:上面的路徑修改為自己的hadoop路徑和hive路徑。
三、sqoop使用
1.sqoop鏈接mysql查看表
sqoop list-tables --username root2 --password 'xxxxx' --connect jdbc:mysql://192.168.0.336:3306/xxxx?characterEncoding=UTF-8
2.通過mysql表創建hive表
sqoop create-hive-table --connect jdbc:mysql://xxxxx:3306/xxxx?characterEncoding=UTF-8 --table xxx --username root -password 'xxxx' --fields-terminated-by ',' --hive-database expodata --hive-table xxx
3.mysql表中的數據全量導入hive中
sqoop import --connect jdbc:mysql://xxxxx:3306/xxx?characterEncoding=UTF-8 --table xx --username root -password 'xxx' --fields-terminated-by ',' --hive-import --hive-database expodata --hive-table xxx-m 1
4.mysql表中查詢導入hive中(可用于增量導入)
sqoop import --connect jdbc:mysql://xxx:3306/xxx?characterEncoding=UTF-8 --username root -password 'xxxx' --query 'select * from xxx where to_days(time) = to_days(now()) AND $CONDITIONS' --fields-terminated-by ',' --hive-import --target-dir /user/hive/warehouse/xxx --hive-database expodata --hive-table ddd -m 1
sqoop是一款非常優秀的hive數據倉庫同步工具,同步命令可以使用linixshell腳本執行,通過創建定時任務實現增量導入的目的