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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

sqoop(数据迁移工具)-安装-学习

發布時間:2023/12/10 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sqoop(数据迁移工具)-安装-学习 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

sqoop

1)概述

sqoop是apache旗下一款“Hadoop和關系數據庫服務器之間傳送數據”的工具。 導入數據:MySQL,Oracle導入數據到Hadoop的HDFS、HIVE、HBASE等數據存儲系統; 導出數據:從Hadoop的文件系統中導出數據到關系數據庫mysql等

2)工作機制

將導入或導出命令翻譯成mapreduce程序來實現,在翻譯出的mapreduce中主要對inputformat 和outputformat進行定制

3)sqoop安裝:

1.前提有hadoop與jdk

下載:官網

2.修改配置文件

改名字

cd $SQOOP_HOME/conf mv sqoop-env-template.sh sqoop-env.sh

在sqoop-env.sh中添加

export HADOOP_COMMON_HOME=/uer/local/chun/hadoop-2.7.7/ export HADOOP_MAPRED_HOME=/uer/local/chun/hadoop-2.7.7/ export HIVE_HOME=/usr/local/hive
把jdbc驅動包加入到lib下,注意驅動版本向下兼容

4)啟動驗證

cd $SQOOP_HOME/bin sqoop-version
預期的輸出:
sqoop-version Warning: /usr/local/sqoop-1.4.6/../hcatalog does not exist! HCatalog jobs will fail. Please set $HCAT_HOME to the root of your HCatalog installation. Warning: /usr/local/sqoop-1.4.6/../accumulo does not exist! Accumulo imports will fail. Please set $ACCUMULO_HOME to the root of your Accumulo installation. 錯誤: 找不到或無法加載主類 org.apache.hadoop.hbase.util.GetJavaProperty 19/08/27 21:08:58 INFO sqoop.Sqoop: Running Sqoop version: 1.4.6 Sqoop 1.4.6 git commit id c0c5a81723759fa575844a0a1eae8f510fa32c25 Compiled by root on Mon Apr 27 14:38:36 CST 2015

無法找不到或無法加載主類 org.apache.hadoop.hbase.util.GetJavaProperty:

因為hbase和hadoop版本有點不兼容,咱們沒出現什么錯誤,就咱們不更換,我這里hbase是2.1.5,換到2.0.6就可以。

5)驗證sqoop到mysql業務庫之間的連通性:

sqoop-list-databases --connect jdbc:mysql://localhost:3306 --username root --password adminsqoop-list-tables --connect jdbc:mysql://localhost:3306/test --username root --password admin

6)Sqoop的數據導入

“導入工具”導入單個表從RDBMS到HDFS。表中的每一行被視為HDFS的記錄。所有記錄都存儲為文本文件的文本數據(或者Avro、sequence文件等二進制數據)

1。從mysql導出到hdfs

bin/sqoop import \ //sqoop命令表導入 --connect jdbc:mysql://localhost:3306/hive \ //告訴jdbc,連接mysql的url連接MySQL使用的庫 --username root \ //連接mysql的用戶名 --password admin \ //連接mysql的密碼 --target-dir \ //目標的目錄 /sqooptest \ --fields-terminated-by ‘,’ \ //指定輸出文件中的字段分隔符 --table emp \ //你要導的表 --split-by id \ //如果你的map指定的個數大于1,那就必須指定一個字段 --m 1 //指定的maptask()

\可以轉到下一行繼續寫

可以查看導出的數據 cat查看part-m-*

hdfs dfs -cat /mysql/import1/part-m-* dake 22 failedman dake 23 goodman chun3 25 failedman chun1 24 successfulman chun2 23 goodman

2.導入關系表到HIVE

sqoop import --connect jdbc:mysql://localhost:3306/test --username root --password root --table emp --hive-import --split-by id --m 1

3.導入表數據子集

bin/sqoop import \ --connect jdbc:mysql://localhost:3306/test \ --username root \ --password admin \ --where "city ='sec-bad'" \ --target-dir /wherequery \ --table emp_add \--m 1

總結

以上是生活随笔為你收集整理的sqoop(数据迁移工具)-安装-学习的全部內容,希望文章能夠幫你解決所遇到的問題。

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