雲端計算大資料學習路線課程大綱資料:hive入門操作
一、hive產生背景
Apache Hive資料倉儲軟體可以使用SQL方便地閱讀、編寫和管理分佈在分散式儲存中的大型資料集。結構可以投射到已經儲存的資料上。提供了一個命令列工具和JDBC驅動程式來將使用者連線到Hive。
• 由Facebook開源,最初用於解決海量結構化的日誌資料統計問題
• MapReduce程式設計的不便性
• HDFS上的檔案缺少Schema(欄位名,欄位型別等)
二、Hive是什麼
• 構建在Hadoop之上的資料倉儲
• Hive定義了一種類SQL查詢語言:HQL(類似SQL但不完全相同)
• 通常用於進行離線資料處理(採用MapReduce)
• 底層支援多種不同的執行引擎(Hive on MapReduce、Hive on Tez、Hive on Spark)
• 支援多種不同的壓縮格式、儲存格式以及自定義函式(壓縮:GZIP、LZO、Snappy、BZIP2.. ; 儲存:TextFile、SequenceFile、RCFile、ORC、Parquet ; UDF:自定義函式)
到底什麼是Hive,我們先看看Hive官網Wiki是如何介紹Hive的():
Apache Hive Apache Hive™ 資料倉儲軟體為分散式儲存的大資料集上的讀、寫、管理提供很大方便,同時還可以用SQL語法在大資料集上查詢。
1、是一種易於對資料實現提取、轉換、載入的工具(ETL)的工具。可以理解為資料清洗分析展現。 2、它有一種將大量格式化資料強加上結構的機制。 3、它可以分析處理直接儲存在hdfs中的資料或者是別的資料儲存系統中的資料,如hbase。 4、查詢的執行經由mapreduce完成。 5、hive可以使用儲存過程 6、透過Apache YARN和Apache Slider實現亞秒級的查詢檢索。
三、hive的安裝
1.hive的單機安裝(使用derby做後設資料儲存)
• 安裝包準備
將hive安裝包 apache-hive-1.2.1-bin.tar.gz 上傳到虛擬機器/bigdata/下
JDK安裝包 jdk-8u151-x64.gz
叢集的準備(linux1,linux2,linux3)
• hive的解壓安裝
將上傳的hive解壓縮至虛擬機器/app目錄下
tar -zxvf /app/apache-hive-1.2.1-bin.tar.gz -C /app
mv /app/apache-hive-1.2.1-bin/ /app/hive-1.2.1
• 配置hive的配置檔案
檢視配置檔案內容
複製配置檔案hive-env.sh.template為hive-env.sh
cp /app/hive-1.2.1/conf/hive-env.sh.template /app/hive-1.2.1/conf/hive-env.sh
vim /app/hive-1.2.1/conf/hive-env.sh
• 配置hive的環境變數
vim /etc/profile
source /etc/profile
which hive
• 啟動hadoop叢集
• 啟動hive服務
hive
• 檢視資料庫
show databases;
• 建立資料庫
create database myhive;
show databases;
• 建立表
create table student(id int,chinese string,math string,English string);
• 載入資料並查詢
load data local inpath '/root/student.txt' into table student;
select * from student;
2.hive的獨立安裝模式(使用mysql做後設資料儲存)
• 安裝MySQL伺服器端和MySQL客戶端,並啟動mysql服務。
• 在linux1上為Hive建立相應的MySQL賬戶,並賦予足夠的許可權
create user 'hive' identified by '123456';
GRANT ALL PRIVILEGES ON *.* TO hive@'%' IDENTIFIED BY '123456' with grant option;
GRANT ALL PRIVILEGES ON *.* TO hive@'localhost' IDENTIFIED BY '123456' with grant option;
flush privileges
檢視是否成功
• 在內嵌模式下繼續配置hive:hive-site.xml,hive-env.sh
配置hive-env.sh
配置hive-site.xml,複製/app/hive-1.2.1/conf下的hive-default.xml檔案為hive-site.xml
cp /app/hive-1.2.1/conf/hive-default.xml.template /app/hive-1.2.1/conf/hive-site.xml
vim /app/hive-1.2.1/conf/hive-site.xml
• 複製資料驅動jar包到指定目錄/app/hive-1.2.1/lib/下。沒有驅動包會報錯
• 使用命令列的方式啟動hive服務,然後檢視資料庫,建立資料庫名為heihei,檢視叢集web頁面
檢視叢集web頁面,可以看見在hdfs上生成了對應heihei資料庫的檔案目錄
• 使用beeline訪問hive
exit命令退出剛才的hive服務,在linux1上修改hadoop 配置檔案 etc/hadoop/core-site.xml,加入如下配置項, 透過httpfs介面匿名的方式登入到hdfs檔案系統。然後重新啟動叢集。
<property>
<name> hadoop.proxyuser.root.hosts </name>
<value> * </value>
</property>
<property>
<name> hadoop.proxyuser.root.groups </name>
<value> * </value>
</property>
使用命令hive --service hiveserver2 & 後臺啟動hive服務
hive --service hiveserver2 &
克隆視窗作為客戶端連線,執行beeline指令碼
連線服務端,這種方式使用了thrift服務,10000為預設的連線埠號
!connect jdbc:hive2://linux1:10000
驗證連線的是不是我們剛才用命令列方式訪問的hive服務
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69916964/viewspace-2653699/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 雲端計算大資料學習路線課程大綱資料:hive內部函式大資料Hive函式
- 雲端計算學習路線課程大綱資料:程式管道 Piping
- 雲端計算學習路線課程大綱資料:作業控制 jobs
- 雲端計算學習路線課程大綱資料:檢視程式 process
- 雲端計算學習路線課程大綱資料:基本分割槽管理
- 雲端計算學習路線課程大綱資料:引數傳遞 Xargs
- 雲端計算學習路線課程大綱資料:檔案屬性 chattr
- 雲端計算學習路線課程大綱資料:儲存基礎知識
- 雲端計算學習路線課程大綱資料:使用訊號控制程式
- 大資料,雲端計算學習路線大資料
- 雲端計算學習路線教程大綱課件:Linux新手入門教程Linux
- 雲端計算學習路線教程大綱課件:FTP ServerFTPServer
- 雲端計算學習路線教程大綱課件:使用自建源
- 雲端計算學習路線教程大綱課件:關於NFSNFS
- 雲端計算學習路線教程大綱課件:LVM管理LVM
- 雲端計算學習路線教程大綱課件:網路管理基礎
- 雲端計算學習路線教程大綱課件:檔案連結
- 雲端計算學習路線教程大綱課件:關於HTTP ServerHTTPServer
- 學習大資料必須瞭解的大資料開發課程大綱大資料
- 雲端計算學習路線教程大綱課件:Mount 掛載詳解
- 雲端計算學習路線教程大綱課件:FAT檔案系統
- 雲端計算學習路線教程大綱課件:交換分割槽管理 Swap
- 雲端計算學習路線教程大綱課件:磁碟陣列 RAID陣列AI
- 雲端計算學習路線教程大綱課件:XFS檔案系統
- 雲端計算學習路線教程大綱課件:部署網上商城ecshop
- 雲端計算學習路線教程大綱課件:客戶端查詢客戶端
- 大資料要學什麼?看看這份大資料課程大綱大資料
- 雲端計算學習路線教程大綱課件:tar專案實戰案例
- 雲端計算學習路線教程大綱課件:關於shell知識點
- 雲端計算學習路線教程大綱課堂筆記:Apache訪問控制筆記Apache
- 雲端計算學習路線教程大綱課件:部署網校系統 edusoho
- 雲端計算學習路線教程大綱課件:部署部落格系統wordpress
- 雲端計算學習路線教程大綱課件:HTTP Server: Apache知識點HTTPServerApache
- 大資料入門到精通課程學習,大資料學習,你還得知道這些大資料
- 雲端計算學習路線教程大綱課件:雲端計算開發程式設計條件結構程式設計
- 雲端計算學習路線教程大綱課件:YUM 簽名檢查機制
- 雲端計算學習路線教程大綱課件:tCentos6網路卡問題CentOS
- 大資料學習入門規劃?和學習路線大資料