大資料學習(hbase,hive,sqoop2對資料的簡單操作)
我們就簡單用一組資料來使用這三個元件
首先自己隨便準備一組測試資料,匯入資料到mysql
匯入完成。
一、用Sqoop1.99.7將mysql資料匯入hdfs
執行sqoop2-shell進入shell介面
setoption--name verbose --valuetrue 這個可以使操作輸出更多的資訊
setserver--host master --port 12000--webapp sqoop 設定埠號12000
1.執行show version -all,檢視sqoop2是否正常運作
2.1執行show connector,檢視有哪些註冊了的聯結器
2.2建立連線
首先建立jdbc
create link -connector generic-jdbc-connector
Name:標示這個link的字串,可以是一個自己喜歡的名稱。
Driver Class:指定jdbc啟動時所需要載入的driver類,這個類實現了Java.sql.Driver介面。對本文來說,這個值是com.mysql.jdbc.Driver。
Connection String:資料庫連結字串
Username:連結資料庫的使用者名稱,也就是mysql客戶端傳入的-u引數。
Password:連結資料庫的使用者密碼。
FetchSize:這個屬性並沒有在官方文件上描述,直接回車了,使用的預設值。
Identifier enclose:指定SQL中識別符號的定界符,也就是說,有的SQL標示符是一個引號:select * from "table_name",這種定界符在MySQL中是會報錯的。這個屬性預設值就是雙引號,所以不能使用回車,必須將之覆蓋,使用空格覆蓋這個值。
再建立HDFS
create link -connector hdfs-connector
其中URI是我們Hadoop配置檔案中fs.defaultFS的值
Conf derectory使我們Hadoop配置檔案的目錄
檢視我們建立的link,完成
3.接下來就是job
3.1 建立job
create job -f jdbcEmp -t hdfsEmp
-f指定from,即是資料來源位置,-t指定to,即是目的地位置。本例是從MySQL傳遞資料到HDFS,所以就是from mysql to HDFS。引數值就是在建立連結(link)時指定的Name。
3.2 提交job
首先檢視我們建立成功的的job
提交Job
start job -n EmployeeToHdfs
我們也可以在WebUI上檢視程式
如果你發現如果最後WebUI上報錯 ..Exception from container-launch...
那麼可以嘗試在hadoop的配置檔案mapred-site.xml中加上兩段話,對JVM的記憶體進行處理
mapreduce.admin.map.child.java.opts
-Xmx1024m
mapreduce.admin.reduce.child.java.opts
-Xmx5120m
(這就是我從執行JOB到JOB FINISHED花了四天的原因之一...)
檢視我們的資料
hadoop fs -cat /sqoop2/*
成功。
二、將資料從hdfs匯入hbase並顯示
啟動Hadoop之後,首先在各個節點上啟動zookeeper,然後再啟動Hbase
主節點有HMaster和QuorumPeerMain
分節點有HRegionServer和QuorumPeerMain
(如果HMaster啟動不久就消失,那就是Hbase配置檔案的問題,回頭好好檢查)
我們使用hbase提供的important工具來匯入
首先執行hbase org.apache.hadoop.hbase.mapreduce.Import檢視用法
看起來大概就是剛才的命令+表名+檔案
執行start-hbase.sh
執行hbase shell進入hbase,首先建立我們的表
建立之後我們回命令列執行我們剛才所說的命令
但是報錯:不是序列化檔案。所以就得換個方法了,於是我就找到下面這個命令
hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.separator="," -Dimporttsv.columns=HBASE_ROW_KEY,**列名1**,**列名2** **表名** **檔案路徑**
這個命令就是先執行檔案序列化,再匯入HBase,我們實際操作下
hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.separator="," -Dimporttsv.columns=HBASE_ROW_KEY,emp_no,birth_date,first_name,last_name,gender,hire_date employees sqoop2/*
然後就開始執行MapReduce程式,同樣可以通過WebUI查詢。
最後跑完,我們回hive檢視下
執行scan‘employees’
大概就是這樣了,因為資料比較多,我沒等重新整理完,但已經說資料已經成功從HDFS匯入到HBase中了。
三、將資料從hdfs匯入hive並顯示
在匯入資料之前,我們首先得根據源資料的型別來建立一個表
通過mysql可以看到有哪些資料和型別
所以我們進入到我們的hive介面,執行下面的操作建立一個新表
(hive中沒有enum,所以我直接替換成了string;date型別我查了,hive應該是自帶了的,但我始終列印出來的是NULL,所以暫時也用string代替)
然後執行
load data inpath‘**HDFS上的路徑***’into table **表名稱**;
將HDFS上的資料匯入到hive中。
成功之後執行select * from **表名** ;
我們就可以看到已經成功的把資料匯入到了hive中
四.hive和hbase的基本shell操作
這個在網上就隨便搜搜就一大堆的,我再囉嗦就不好了....
至此結束,如果有任何錯誤地方歡迎指出(╯‵□′)╯︵┻━┻
相關文章
- Hbase、Hive、Impala資料同步簡單示例Hive
- 雲端計算大資料學習路線課程大綱資料:hive入門操作大資料Hive
- 大資料技術Hbase和Hive詳解大資料Hive
- HBase基本的資料操作
- 圖解大資料 | 海量資料庫查詢-Hive與HBase詳解圖解大資料資料庫Hive
- 大資料基礎學習-8.Hbase-1.2.0大資料
- 大資料基礎學習-7.Hive-1.1.0大資料Hive
- 大資料學習筆記(十三)-Hive高階大資料筆記Hive
- Hive學習筆記 2 Hive的資料型別Hive筆記資料型別
- Hive學習筆記 4 Hive的資料匯入Hive筆記
- 大資料學習資料大資料
- 大資料4.2 -- hive資料庫大資料Hive資料庫
- Hive資料匯入HBase引起資料膨脹引發的思考Hive
- 大資料時代的技術hive:hive的資料型別和資料模型大資料Hive資料型別模型
- flume日誌採集,hbase資料儲存,hive查詢輸出(簡單整合)Hive
- 大資料——HBase基礎大資料
- 大資料技術 - Hbase大資料
- HBase載入大資料大資料
- 雲端計算大資料學習路線課程大綱資料:hive內部函式大資料Hive函式
- hbase與phoenix整合(使用phoenix操作hbase資料)
- 好程式設計師大資料學習路線分享Hbase指令學習程式設計師大資料
- 大資料學習大資料
- Hive學習筆記 5 Hive的資料查詢、函式Hive筆記函式
- 大資料學習系列之八----- Hadoop、Spark、HBase、Hive搭建環境遇到的錯誤以及解決方法大資料HadoopSparkHive
- 大資料技術 - Hive大資料Hive
- 想學習大資料?這才是完整的大資料學習體系大資料
- 1.1 大資料簡介-hadoop-最全最完整的保姆級的java大資料學習資料大資料HadoopJava
- JAVA簡單的複習資料Java
- ASP資料庫簡單操作教程資料庫
- Hive資料庫及表的基本操作Hive資料庫
- 資料庫學習(二)資料操作語言:資料庫
- 大資料時代的技術hive:hive介紹大資料Hive
- 大資料學習:怎樣進行大資料的入門級學習?大資料
- 過來人對大資料學習的建議大資料
- Oracle資料匯入到Hive資料庫的操作方法OracleHive資料庫
- 大資料的系統學習:大資料學習的三個階段概述大資料
- 大資料學習大綱,大資料應該怎麼學大資料
- Hbase學習二:Hbase資料特點和架構特點架構