<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      SQOOP的使用方法

      Sqoop是個命令行工具,用來在Hadoop和rdbms之間傳輸數據。

      以Hadoop的角度看待數據流向,從rdbms往Hadoop是導入用sqoop import命令,反之從hadoop往rdbms下發數據用sqoop export命令

      以oracle hive為例子,命令舉例:

      sqoop import -D oraoop.jdbc.url.verbatim=true --hive-import --hive-overwrite --connect jdbc:oracle:thin:@192.168.1.10:1521:orcl --username usernamexx --password passwdxx --table WH_PRG.TB_JSQ_PRD_GRID_MDF -hive-database test --hive-table hivename  --fetch-size 5000 --hive-drop-import-delims --null-string '\\N' --null-non-string '\\N' -m 1
      
      sqoop export -D oraoop.jdbc.url.verbatim=true --connect "jdbc:oracle:thin:@192.168.1.10:1521:orcl" --username usernamexx --password passwdxx --table  ORACLETABLE  --export-dir /user/hive/warehouse/test.db/tablename/* --input-fields-terminated-by '\001' --input-lines-terminated-by '\n' --input-null-string '\\N' --input-null-non-string '\\N'   -m 1
      

      注意:

      oracle表名大寫,hive表名保持和創建表時候的大小寫,建表是大寫,這兒就大寫,建表時候小寫,這兒就小寫  

      -m 1表示并行度,根據oracle庫的性能自行決定

      導入的時候是默認覆蓋,如果hive中有同名表,會自動刪除重建

      導出的時候是追加,要先在oracle測建好空表,而且再次導入時候要把原來的內容清空,否則因為是追加數據會產生重復數據,字段順序要對齊,否則可能產生列的錯位

      附1:Sqoop導入常規參數意思

      參數 參數名稱
      others     插件命令附加參數
      target-dir     導入HDFS的目標路徑
      delete-target-dir    如果指定目錄存在,則先刪除掉
      fetch-size    從數據庫中批量讀取記錄數
      split-by    按照指定列去分割數據
      columns        從表中導出指定的一組列的數據
      null-string    字符串類型null時轉義為
      null-non-string    非字符串類型null時轉義為
      query    查詢語句
      where    查詢條件
      direct    使用直接導出模式(優化速度)
      warehouse-dir    HDFS存放表的根路徑
      append        將數據追加到HDFS上一個已存在的數據集上
      as-avrodatafile    將數據導入到Avro
      as-sequencefile    將數據導入到SequenceFile
      as-textfile    將數據導入到普通文本文件(默認)
      boundary-query    邊界查詢,用于創建分片(InputSplit)
      direct-split-size    分割輸入stream的字節大小(在直接導入模式下)
      inline-lob-limit    設置內聯的LOB對象的大小
      compress        啟用壓縮
      compression-codec    指定Hadoop的codec方式(默認gzip)
      incremental        mode模式
      last-value        指定自從上次導入后列的最大值
      connect            指定JDBC連接字符串
      connection-manager    指定要使用的連接管理器類
      driver            指定要使用的JDBC驅動類
      username        設置認證用戶名
      password        設置認證密碼
      verbose            打印詳細的運行信息
      connection-param-file    可選,指定存儲數據庫連接參數的屬性文件
      hadoop-home        hadoop-home的路徑
      enclosed-by        字段值前后加上指定的字符
      escaped-by        雙引號作轉義處理
      fields-terminated-by    字段分隔符
      lines-terminated-by    行分隔符
      optionally-enclosed-by    強制給字段值前后都加上指定符號
      mysql-delimiters    Mysql默認的分隔符
      input-enclosed-by    對字段值前后指定的字符進行解析
      input-escaped-by    對含有轉義雙引號的字段值作轉義處理
      input-escaped-by    導入使用的字段分隔符
      input-lines-terminated-by    導入使用的行分隔符
      input-optionally-enclosed-by    導入時強制給字段值前后都加上指定符號
      bindir            生成的java文件、class文件及打包為JAR的JAR包文件輸出路徑
      class-name        生成的Java文件指定的名稱
      jar-file        合并時引入的jar包
      outdir    生成的java文件存放路徑
      package-name    包名
      map-column-java    映射的數據類型
      table    關系數據庫表名
      num-mappers    啟動map的數量,默認是4個

      附2:Sqoop的import工具抽數的幾種情況
      1. Hive表無分區,全量從Oracle中抽取數據到Hive的表中
      sqoop import -D mapred.job.queue.name=root.myqueue    \
      –connect jdbc:oracle:thin:@192.168.1.128:1521:mydatabase   \
      –username jsz                                       \
      –password 123456                                     \
      –table  mys.test               \
      –columns ID,NAME,AGE,SALARY,DATA_DATE \
      -m 1                                                             \
      –hive-table default.test  \
      –create-hive-table \
      –hive-drop-import-delims                                        \
      –verbose                                                           \
      –fetch-size 5000                                                \
      –target-dir  /apps/testdata/default/test \
      –delete-target-dir \
      –hive-overwrite         \
      –null-string ‘\\N’      \
      –null-non-string ‘\\N’  \
      –hive-import;
      2. Hive表有分區,增量從Oracle中抽取數據到Hive表中:
      sqoop import -D mapred.job.queue.name=root.myqueue   \
      –connect jdbc:oracle:thin:@192.168.1.128:1521:mydatabase   \
      –username jsz                                       \
      –password 123456                                     \
      –table  mys.test              \
      –columns ID,NAME,AGE,SALARY,LCD \
      -m 1                                          \
      –hive-partition-key op_day                  \
      –hive-partition-value 20160525               \
      –where “lcd >= trunc(TO_DATE(‘20160525′,’YYYY-MM-DD’),’dd’) and lcd < trunc(TO_DATE(‘20160526′,’YYYY-MM-DD’),’dd’)”  \
      –hive-table default.test_partition  \
      –create-hive-table \
      –hive-drop-import-delims                                        \
      –verbose                                                           \
      –fetch-size 5000                                                \
      –target-dir  /apps/testdata/default/test_partition \
      –delete-target-dir \
      –hive-overwrite         \
      –null-string ‘\\N’      \
      –null-non-string ‘\\N’  \
      –hive-import;
      3.使用select語句:
      sqoop import                            \
      -D mapred.job.queue.name=root.myqueue      \
      -D oracle.sessionTimeZone=America/Los_Angeles  \
      –connect jdbc:oracle:thin:@192.168.1.128:1521:mydatabase    \
      –username jsz   \
      –password 123456  \
      –query “select ID,NAME,AGE,SALARY,DATA_DATE from mys.test WHERE ID = ‘10086’ and \$CONDITIONS” \
      –verbose  \
      –fetch-size 5000       \
      –hive-table default.test  \
      –target-dir  /apps/testdata/default/test \
      –delete-target-dir \
      –fields-terminated-by ‘\001’      \
      –lines-terminated-by ‘\n’      \
      -m 1           \
      –hive-import           \
      –hive-overwrite           \
      –null-string   ‘\\N’            \
      –null-non-string  ‘\\N’           \
      –hive-drop-import-delims

      Sqoop的export工具導數的情況:

      將Hive的數據導入Oracle,整個過程分為三步:

      1) 刪除Oracle表的歷史數據
      sqoop eval  -D mapred.job.queue.name=root.myqueue    \
      –connect jdbc:oracle:thin:@192.168.1.128:1521:mydatabase  \
      –username jsz    \
      –password 123456  \
      –verbose                       \
      –e “delete from mys.test”
      2) Hive導出到HDFS指定路徑
      hive -e “use default;set mapred.job.queue.name=root.myqueue;set hive.insert.into.multilevel.dirs=true;insert overwrite directory ‘/apps/testdata/default/test’ select id,name,age,salary,data_date from default.test;”
      3) 將HDFS的數據導入到Oracle中
      sqoop export    \
      -D mapred.job.queue.name=root.myqueue     \
      -D mapred.task.timeout=0     \
      –connect jdbc:oracle:thin:@192.168.1.128:1521:mydatabase     \
      –username jsz     \
      –password 123456    \
      –table mys.test     \
      –columns ID,NAME,AGE,SALARY,DATA_DATE     \
      –export-dir /apps/testdata/default/test     \
      –verbose     \
      –input-null-string ‘\\N’     \
      –input-null-non-string ‘\\N’  \
      –input-fields-terminated-by ‘\001’     \
      –input-lines-terminated-by ‘\n’     \
      -m 1

      posted @ 2019-09-12 10:25  九命貓幺  閱讀(2935)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 久久这里只精品热免费99| 无码天堂亚洲国产av麻豆| 亚洲 欧美 唯美 国产 伦 综合| 人妻系列中文字幕精品| 97国产成人无码精品久久久| 91中文字幕一区在线| 亚洲国产成人综合自在线| 韩国深夜福利视频在线观看| 饥渴少妇高潮正在播放| 国偷自产一区二区三区在线视频| 国内视频偷拍久久伊人网| 开心久久综合激情五月天| 亚洲熟妇色xxxxx亚洲| 免费无码黄网站在线观看| 夜夜添狠狠添高潮出水| 玩弄放荡人妻少妇系列| 国产aⅴ夜夜欢一区二区三区| 日韩人妻少妇一区二区三区 | 自偷自拍亚洲综合精品| 欧美日韩国产码高清| 国产亚洲无线码一区二区| 亚洲中文字幕无码中字| 毛片网站在线观看| 免费人成网站免费看视频| 超碰人人超碰人人| 久久天天躁狠狠躁夜夜av| 亚洲欧美人成电影在线观看 | 蜜芽亚洲AV无码精品国产午夜 | 波多野结衣的av一区二区三区| 亚洲综合色区另类av| 国产av一区二区亚洲精品| 久久精品一区二区东京热| 欧美成人午夜在线观看视频| 亚洲暴爽av天天爽日日碰| 国产午夜亚洲精品一区| 林口县| 日韩中文字幕有码午夜美女| 蜜臀av久久国产午夜| 午夜国人精品av免费看| 精品在免费线中文字幕久久| 3d无码纯肉动漫在线观看|