日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Sqoop(一)安装及基本使用

發布時間:2024/9/27 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Sqoop(一)安装及基本使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文轉載自:https://www.cnblogs.com/yfb918/p/10411507.html
Sqoop:

  • sqoop從數據庫中導入數據到HDFS
  • sqoop從數據庫導入數據到hive
  • sqoop從hive中將數據導出到數據庫
  • sqoop底層還是執行的mapreduce程序,但是特殊的地方只有map task
    可以實現:企業級數據倉庫、文檔型系統、關系型數據庫

    sqoop安裝:

  • tar -zxvf sqoop-1.4.6-cdh5.5.2.tar.gz
  • 將mysql的驅動包mysql-connector-java-5.1.43.jar拷貝到sqoop home/lib下面
  • cp mysql-connector-java-5.1.43.jar sqoop-1.4.6-cdh5.5.2/lib/

    3.配置環境變量

    export SQOOP_HOME=/yang/sqoop-1.4.6-cdh5.5.2 export PATH=$PATH:$SQOOP_HOME/bin
  • 配置SQOOP ,cd sqoop-1.4.6-cdh5.5.2/conf/
  • mv sqoop-env-template.sh sqoop-env.shexport HADOOP_COMMON_HOME=/yang/hadoop-2.6.5 export HADOOP_MAPRED_HOME=/yang/hadoop-2.6.5 export HBASE_HOME=/yang/hbase-1.2.5 export HIVE_HOME=/yang/apache-hive-2.1.1-bin
  • source /etc/profile
  • sqoop version
  • 開始使用:
    前提:mysql可以正常使用
    hdfs服務開啟start-dfs.sh start-yarn.sh
    hive服務開啟 nohup hive --service metastore &
    查看數據庫有哪些表

    sqoop list-tables --connect jdbc:mysql://192.168.100.121:3306/big_data --username root -P

    或者(上面大寫P會讓你在控制臺輸入密碼)

    sqoop list-tables --connect jdbc:mysql://192.168.100.121:3306/big_data --username root --password 1234 sqoop list-tables --connect jdbc:mysql://192.168.100.121:3306/big_data --username root -P

    #使用 sqoop將數據庫的數據導入到 Hdfs(地址使用默認地址/user/$user/tabname)
    斜杠后面不能有空格 而且需要啟動yarn,因為要sqoop底層要執行mapreduce
    當執行報錯;classwrite的時候加入:–driver com.mysql.jdbc.Driver \

    sqoop import \ --connect jdbc:mysql://192.168.100.121:3306/big_data \ --driver com.mysql.jdbc.Driver \ --username root \ --password 1234 \ --table t_area 需要放入那張表 #使用指定的輸出目錄 --target-dir /tmp \ #使用指定的并發數量 -m 2 sqoop import \ --connect jdbc:mysql://192.168.100.121:3306/big_data \ --driver com.mysql.jdbc.Driver \ --username root \ --password 1234 \ --table t_area \ --target-dir /sqoop \ -m 2

    #使用sqoop將HDFS文件導出到 MYSQL 表中,默認MAP為 4個 ,先將空表建好t_area_copy1

    sqoop export \ --connect jdbc:mysql://192.168.100.121:3306/big_data \ --driver com.mysql.jdbc.Driver \ --table t_area_copy1 \ --username root \ --password 1234 \ --export-dir hdfs://192.168.200.200:9000/sqoop

    mysql導入到hive:
    注意需要啟動服務:hive服務開啟 nohup hive --service metastore &
    再來啟動hive

    #使用自定義的條件,并且過濾字段,并發數為1 #切分的字段可以更改為另外一個字段 sqoop import \ --hive-import \ --hive-table t_area \ --connect jdbc:mysql://192.168.128.121:3306/big_data \ --username root \ --password 1234 \ --query "SELECT * from t_area where \$CONDITIONS" \ //將mysql中的表導入到hive表t_area --fields-terminated-by "," \ //按,分割,首先在hive中將表建好(z字段對應),并按,分割 --lines-terminated-by "\n" \ --target-dir /tmp/aa \ //臨時存放的目錄 -m 1

    異常:org.apache.hadoop.hive.conf.HiveConf
    Make sure HIVE_CONF_DIR is set correctly
    解決:
    在/etc/profile下面加上:

    HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HIVE_HOME/lib/*

    分布發送到其他主機上 source 一下

    sqoop export \ --connect jdbc:mysql://192.168.100.121:3306/big_data \ 將hive的數據導出到mysql:是通過hdfs中的路徑導入到mysql中 如果需要通過導入指定行的話,需要建立中間表 --driver com.mysql.jdbc.Driver \ --table t_area1 \ //導入到mysql表t_area1 --username root \ --password 1234 \ --export-dir /user/hive/warehose/t_area \ 這個文件路徑從hdfs上知道 --input-fields-terminated-by ',' 是以,分割的

    總結

    以上是生活随笔為你收集整理的Sqoop(一)安装及基本使用的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。