1. 程式人生 > >大資料(二十三)Hive【Hive三種啟動方式 、 HIVE Server2詳解 、 jdbc連結HIVE】

大資料(二十三)Hive【Hive三種啟動方式 、 HIVE Server2詳解 、 jdbc連結HIVE】

一:Hive的三種啟動方式

1, hive  命令列模式

        進入hive安裝目錄,輸入bin/hive的執行程式,或者輸入 hive –service cli

        用於linux平臺命令列查詢,查詢語句基本跟mysql查詢語句類似

 2, hive  web介面的啟動方式

        bin/hive –service hwi  (& 表示後臺執行)

        用於通過瀏覽器來訪問hive,感覺沒多大用途,瀏覽器訪問地址是:127.0.0.1:9999/hwi

 3, hive  遠端服務 (埠號10000) 啟動方式

        bin/hive –service hiveserver2  &(&表示後臺執行)

        用java,python等程式實現通過jdbc等驅動的訪問hive就用這種起動方式了,這個是程式設計師最需要的方式了

二:HiveServer2

1, 啟動命令

hive --service hiveserver   /   hiveserver2

2, 啟動結果驗證

telnet localhost 10000

3, 命令列連結hiveserver2

[[email protected] ~]# beeline
Beeline version 1.2.1 by Apache Hive
beeline> !connect jdbc:hive2://localhost:10000 root
Connecting to jdbc:hive2://localhost:10000
Enter password for jdbc:hive2://localhost:10000:
Connected to: Apache Hive (version 1.2.1)
Driver: Hive JDBC (version 1.2.1)
Transaction isolation: TRANSACTION_REPEATABLE_READ
0: jdbc:hive2://localhost:10000>0: jdbc:hive2://localhost:10000> show tables;
+-------------------+--+
|     tab_name      |
+-------------------+--+
| page_view         |
| partitioned_test  |
| people            |
| people_new        |
+-------------------+--+
4 rows selected (0.066 seconds)

4,JDBC連結HIVE

1、在Intellij下新建專案。

               

           2、在專案中引入需要的hive和hadoop相關jar包

                    jar包分別位於hadoop-2.5.1\share\hadoop\commonapache-hive-1.2.1-bin\apache-hive-1.2.1-bin\lib

           3、新建測試類

/**
 * Created by ZhangJintao on 2017/10/29.
 */

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.DriverManager;

public class testHIVESERVER2 {
    //驅動 url
    private static String driverName = "org.apache.hive.jdbc.HiveDriver";

    /**
     * @param args
     */
    public static void main(String[] args)  {
        try {
            //載入驅動
            Class.forName(driverName);
            //連結hive資料倉庫
            Connection con = DriverManager.getConnection("jdbc:hive2://192.168.1.205:10000/default", "root", "");
            //建立會話
            Statement stmt = con.createStatement();
            //執行dql,得到結果集
            ResultSet res = stmt.executeQuery("select count(*) from people " );
            // 遍歷結果集,列印資料
            if(res.next()){
                System.out.println(res.getInt(1));
            }
        } catch (Exception e) {
            // 列印異常
            e.printStackTrace();
            System.exit(1);
        }

    }
}

           4、執行專案

                    控制檯顯示如下,這表示專案已經啟動,hadoop正在執行mapreduce。

                   

                    此時我們前往http://192.168.1.201:8088下檢視Scheduler和Applications,可以看到這個查詢的mapreduce正在執行,如下圖所示

                     

                      

                    待其執行完畢,我們就可以看到程式有如下輸出

                     



相關推薦

資料十三HiveHive啟動方式 HIVE Server2 jdbc連結HIVE

一:Hive的三種啟動方式 1, hive  命令列模式         進入hive安裝目錄,輸入bin/hive的執行程式,或者輸入 hive –service cli         用於linux平臺命令列查詢,查詢語句基本跟mysql查詢語句類似  2, hive

資料十三hive優化表優化

一、Fetch抓取         Fetch抓取是指,Hive中對某些情況的查詢可以不必使用MapReduce計算。例如,select * from employees;在這種情況下,Hive可以簡單讀取employee對應的儲存目錄

資料hive分割槽表修改表語句與資料的匯入匯出

一、分割槽表         分割槽表實際上就是對應一個HDFS檔案系統上的一個獨立的資料夾,該資料夾下是該分割槽所有的資料檔案,hive中的分割槽就是分目錄,把一個大的資料集更具業務需求分割成小的資料集。在查詢時通過where子句中的

資料hive分桶及抽樣查詢自定義函式壓縮與儲存

一、分桶及抽樣查詢 1.分桶表資料儲存         分割槽針對的是資料儲存路徑(HDFS中表現出來的便是資料夾),分桶針對的是資料檔案。分割槽提供一個隔離資料和優化查詢的便利方式。不過,並非所有的資料集都可形成合理的分割槽,特別是當資料要

資料十一hive查詢語句

一、查詢語句 1.基本語法 SELECT [ALL|DISTINCT] select_expr,select_expr,... FROM table_reference [WHERE where_condition] [GROUP BY col_list] [ORDER BY col_lis

資料十八Hive資料配置常見屬性配置資料型別與資料轉換

一、Hive元資料配置到MySQL當中         為什麼要把Hive的元資料配置到MySql中?我們可以使用多個客戶端連線linux系統並且都嘗試啟動Hive,可以發現在啟動第二個Hive客戶端的時候發生報錯了。   

資料十七Hive簡介安裝與基本操作

一、簡介         Hive由Facebook開源用於解決海量結構化日誌的資料統計。Hive是基於Hadoop的一個數據倉庫工具,可以將結構化的資料檔案對映為一張表,並提供類Sql查詢的功能。 hive本質是將HQL轉化為MapRedu

資料十五:Sqoop的介紹和安裝

一、Sqoop簡介        Sqoop是一種旨在有效的Hadoop和關係型資料庫等結構化資料儲存之間傳輸大量資料的工具。Sqoop的原理就是將匯入或者匯出命令翻譯成mapreduce程式來實現。在翻譯出的mapreduce中主要就是對inputfor

資料十四資料傾斜優化並行執行嚴格模式JVM重用執行計劃

一、資料傾斜優化 1.合理設定Map數量        1.通常情況下,作業會通過input的目錄產生一個或者多個map任務        主要的決定因素有:input的檔案總個數,input的檔案大小,叢集

資料十六:Sqoop的importexport命令和命令指令碼

一、sqoop匯入命令(import)         在Sqoop中,“匯入”概念指:從非大資料叢集(RDBMS)向大資料叢集(HDFS,HIVE,HBASE)中傳輸資料。 1.在MySql中新建一張表並插入一些資料 create&nb

初識資料. Hadoop是什麼

hadoop是一個由Apache基金會所釋出的用於大規模叢集上的分散式系統並行程式設計基礎框架。目前已經是大資料領域最流行的開發架構。並且已經從HDFS、MapReduce、Hbase三大核心元件成長為一個具有60多個元件構成的龐大生態,可以滿足大資料採集、儲存、開發、分析、演算法、建模等方方面面。 在ha

Python小白學習之路十三生成器補充

生成器的一些補充 接著下雞蛋和吃包子!   補充一:生成器只能遍歷一次 (總是把生成器比喻成母雞下雞蛋,需要一個下一個,首先是下出來的雞蛋不能塞回母雞肚子裡,其次是一個母雞一生只能下一定數量的雞蛋,下完了就死掉了) #通過程式來理解什麼意思 #程式一: def test():

10小時入門資料------初識Hadoop

10小時入門大資料(二)——初識Hadoop 1、Hadoop介紹 開源、分散式儲存+分散式計算平臺 2、Hadoop能做什麼 搭建大型資料倉庫、PB級資料儲存、處理、分析、統計等 搜尋引擎、日誌分析、商業智慧、資料探勘 3、核心元件之分散式檔案系統

資料十九hive資料庫基本操作與表分類

一、建立資料庫 1.建立一個數據,資料庫在HDFS上的預設儲存路徑是/user/hive/warehouse/*.db create database db_hive; 2.避免建立的資料庫已經存在,增加if not exists create database 

資料十七:Sqoop常用命令和公用引數

一、常用命令列舉 命令 類 說明 import ImportTool 將資料匯入到叢集 export ExportTool

史上最簡單的 MySQL 教程十三資料的高階操作 之 查詢

溫馨提示:本系列博文已經同步到 GitHub,地址為「mysql-tutorial」,歡迎感興趣的童鞋Star、Fork,糾錯。 資料的高階操作 查詢資料(上) 基本語法: select + 欄位列表/* + from + 表名 + [whe

資料四十機器學習線性迴歸

一、一元一次線性迴歸         如果用上述概念去理解線性迴歸與機器學習的關係還有點抽象,那麼下面我們來舉一個具體的例子來說明。         歷史上美國法社會見的次數很多,失敗的次數也很多。基於歷史樣本,我們希望分析火箭中一個組成(O-Ring)溫度對火箭發

資料十九:kafka簡介架構原理

一、kafka是什麼 在流式計算中,kafka一般用來快取資料,storm通過消費kafka的資料進行計算。 1.Apache kafka是一個開源的訊息系統,由scala寫成,是由Apache軟體基金會開發的一個開源訊息系統專案。 2.kafka最初始由Linkedi

python十三

sbin linux 即使 定義 exit ati 效果 鏈路層 ise 一 錯誤和異常 part1:程序中難免出現錯誤,而錯誤分成兩種 1.語法錯誤(這種錯誤,根本過不了python解釋器的語法檢測,必須在程序執行前就改正) #語法錯誤示範一 if #語法錯誤

ERP渠道文檔管理十三

存儲 mss nav seh 文件 btn for app server 基本需求: 用例圖: 存儲過程: CREATE PROCEDURE [dbo].[BioErpCrmChannelDocument_ADD] @DocumentID int, @