1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時間:8:30-17:00
      你可能遇到了下面的問題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
      sqoop的常用命令

      1. 基礎(chǔ)命令

      列出MySQL中有那些數(shù)據(jù)庫

      成都創(chuàng)新互聯(lián)公司主要從事成都做網(wǎng)站、網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)中原,10多年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):028-86922220

      sqoop list-databases \  
      --connect jdbc:mysql://hadoop01:3306/ \
      --username hadoop \
      --password root \

      列出MySQL中的數(shù)據(jù)庫有哪些表

      sqoop list-tables \  
      --connect jdbc:mysql://hadoop01:3306/mysql \ 
      --username hadoop \ 
      --password root \

      在hive中創(chuàng)建一個跟MySQL數(shù)據(jù)庫表中一樣的表

      create-hive-table  
      --connect jdbc:mysql://hadoop01:3306/test 
      --username hadoop 
      --password root 
      --table book 
      --hive-table test_hk

      2.sqoop的數(shù)據(jù)導(dǎo)入

      語法:sqoop import (generic-args) (import-args)
      常用參數(shù)

      -connect jdbc 連接地址 
      --connection-manager 連接管理者 
      --driver 驅(qū)動類 
      --hadoop-mapred-home $HADOOP_MAPRED_HOME 
      --help help 信息 
      -P 從命令行輸入密碼 
      -m  指定maptask的個數(shù),指定maptask的并行度
      --target-dir  指定導(dǎo)出數(shù)據(jù)在hdfs上的存儲目錄
      --fields-terminated-by  指定每條記錄中字段之間的分隔符
      --where 指定查詢sql的where條件
      --query  指定sql查詢
      --columns 指定查詢的列  (不指定默認導(dǎo)出所有的列)
      --password 密碼
       --username 賬號
       --verbose 打印流程信息
       --connection-param-file 可選參數(shù)

      MySQL ---> HDFS

      #不指定分隔符和路徑
      sqoop import \
      --connect jdbc:mysql://hadoop01:3306/test \  #指定連接
      --username hadoop \   #指定MySQL的用戶名
      -password root \     #指定MySQL的密碼
      --table book \        #指定導(dǎo)出的MySQL的表
      -m 1             #啟動一個maptask
      #ps:如果沒有指定文件的存儲目錄,那么默認的會保存在hdfs上的/user/用戶/book 目錄中,默認的字段的分隔符逗號。
      
      #指定導(dǎo)入路徑和分割符
      sqoop import \
      --connect jdbc:mysql://hadoop01:3306/test \
      --username hadoop \
      --password root \
      --table book \
      --target-dir /user/hadoop/book \
      --fields-terminated-by '\t' \
      -m 1
      
      #導(dǎo)入where的結(jié)果
      sqoop import \
      --connect jdbc:mysql://hadoop01:3306/test \
      --username hadoop \
      --password root \
      --where "bid>2" \
      --table book \
      --target-dir /user/hadoop/book1 \
      -m 1
      ps:where后的條件,用雙引號,如果條件的字段為string則里面使用單引號
      
      #導(dǎo)入query結(jié)果數(shù)據(jù)
      sqoop import \
      --connect jdbc:mysql://hadoop01:3306/test \
      --username hadoop \
      --password root \
      --target-dir /user/hadoop/book3 \
      --query 'select * from book where 1=1 and $CONDITIONS' \
      --split-by bid \   #指定maptask切分的列,列的值.hashcode/maptask的個數(shù)
      --fields-terminated-by '\t' \
      -m 1
      ps:
      1.query外層使用單引號,SQL 語句當(dāng)中的條件使用雙引號,否則會報錯;
      2.在使用query時,必須有where子句,并且必須加入 and $CONDITIONS ,否則會報錯
      3.--query不能和--where、--columns一起使用的
      4.--query sql語句,放入雙引號中需要加轉(zhuǎn)義

      MySQL ---> hive
      Sqoop導(dǎo)入關(guān)系型數(shù)據(jù)到hive,的過程是先導(dǎo)入hdfs中,然后在load到hive。

      #普通導(dǎo)入
      sqoop import \
      --connect jdbc:mysql://hadoop01:3306/test \
      --username hadoop \
      --password root \
      --table book \
      --hive-import \
      -m 1
      ps:導(dǎo)入數(shù)據(jù)到hive表中時,默認在default庫下,表名和MySQL導(dǎo)入的表名一樣。,默認采用'\u0001'分隔。
      
      #全量集
      sqoop import \
      --connect jdbc:mysql://hadoop01:3306/test \
      --username hadoop \
      --password root \
      --table book \
      --fields-terminated-by '\t' \   #列分割符
      --lines-terminated-by '\n'  \   #行分隔符 ,默認也是\n
      --hive-import \
      --hive-overwrite \  #覆蓋導(dǎo)入
      --create-hive-table \ #創(chuàng)建表(默認也會自動創(chuàng)建表)
      --hive-table test.book \  #hive的表名
      --delete-target-dir  #刪除中間存放的臨時目錄
      ps:表會自動創(chuàng)建,但是庫不會,所以在執(zhí)行語句前,一定要保證hive的數(shù)據(jù)庫存在,否則會把報錯。
      
      #增量導(dǎo)入,增量數(shù)據(jù)導(dǎo)入僅導(dǎo)入新添加的行
      #它需要添加 'incremental' , 'check-column', 和 'last-value' 選項來執(zhí)行增量導(dǎo)入
      sqoop import \
      --connect jdbc:mysql://hadoop01:3306/test \
      --username hadoop \
      --password root \
      --table book \
      --target-dir /user/hadoop/book \
      --incremental append \ #指定是增量導(dǎo)入 
      --check-column bid  \  #指定增量的列
      --last-value 500 \  #指定上一次的結(jié)束的列的值,(是從>500開始)一直到末尾
      -m 1
      ps:
      1.--incremental有兩個值,append必須指定增量的列,指定使用--check-column(一般是MySQL的主鍵);lastmodified,最后一次修改表的時間
      2.增量備份如果想要導(dǎo)入hive中,只能指定--target-dir,導(dǎo)入到存放表的目錄下,默認的hive不支持增量導(dǎo)入(即不能添加--hive-import)

      MySQL ---> hbase

      #sqoop import \
      --connect jdbc:mysql://hadoop02:3306/mysql \
      --username root \
      --password root \
      --table help_keyword \
      --hbase-table new_help_keyword \
      --column-family person \
      --hbase-row-key help_keyword_id
      
      #字段解釋
      --connect jdbc:mysql://hadoop04:3306/mysql 表示遠程或者本地 Mysql 服務(wù)的 URI
      --hbase-create-table 表示在 HBase 中建立表。
      --hbase-table new_help_keyword 表示在 HBase 中建立表 new_help_keyword。
      --hbase-row-key help_keyword_id 表示hbase表的rowkey是mysql表的help_keyword_id
      字段。
      --column-family person 表示在表 new_help_keyword 中建立列族 person。
      --username 'root' 表示使用用戶 root 連接 mysql。
      --password 'root' 連接 mysql 的用戶密碼
      --table help_keyword 表示導(dǎo)出 mysql 數(shù)據(jù)庫的 help_keyword 表。

      3.sqoop的數(shù)據(jù)導(dǎo)出

      語法:sqoop export (generic-args) (export-args)
      常用參數(shù)

      --direct 快速導(dǎo)入
      --export-dir HDFS 導(dǎo)出數(shù)據(jù)的目錄 
      -m,--num-mappers 都少個 map 線程 
      --table 導(dǎo)出哪個表 
      --call 存儲過程
      --update-key 通過哪個字段來判斷更新 
      --update-mode 插入模式,默認是只更新,可以設(shè)置為 allowinsert.
      --input-null-string 字符類型 null 處理 
      --input-null-non-string 非字符類型 null 處理
      --staging-table 臨時表
      --clear-staging-table 清空臨時表
      --batch 批量模式

      HDFS ---> MySQL

      sqoop export \
      --connect jdbc:mysql://hadoop01:3306/test \
      --username hadoop \
      --password root \
      --table book \
      --export-dir /sqoopdata \
      --fields-terminated-by ','

      hive----> MySQL

      sqoop export \
      --connect jdbc:mysql://hadoop01:3306/test \
      --username hadoop \
      --password root \
      --table book \
      --export-dir /user/hive/warehouse/uv/dt=2011-08-03 \
      --input-fileds-terminated-by '\t'

      hbase---->MySQL
      默認的沒有命令直接將hbase中的數(shù)據(jù)導(dǎo)入到MySQL,因為在hbase中的表數(shù)據(jù)量通常比較大,如果一次性導(dǎo)入到MySQL,可能導(dǎo)致MySQL直接崩潰。
      但是可以用別的辦法進行導(dǎo)入:

      1. 將 Hbase 數(shù)據(jù),扁平化成 HDFS 文件,然后再由 sqoop 導(dǎo)入
      2. 將 Hbase 數(shù)據(jù)導(dǎo)入 Hive 表中,然后再導(dǎo)入 mysql
      3. 直接使用 Hbase 的 Java API 讀取表數(shù)據(jù),直接向 mysql 導(dǎo)入,不需要使用 sqoop

      當(dāng)前文章:sqoop的常用命令
      文章網(wǎng)址:http://www.ef60e0e.cn/article/pjoojo.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        淮北市| 沭阳县| 阿瓦提县| 湟中县| 抚宁县| 桐柏县| 晋中市| 定南县| 蒲江县| 揭西县| 凤凰县| 五指山市| 阿城市| 托里县| 吐鲁番市| 天台县| 专栏| 雷山县| 福清市| 德州市| 隆安县| 内江市| 卓尼县| 蓬莱市| 龙海市| 普兰店市| 清苑县| 广河县| 隆化县| 呼图壁县| 武乡县| 西乡县| 许昌县| 祁连县| 澎湖县| 措美县| 温州市| 石台县| 敦煌市| 五常市| 德令哈市|