1. 程式人生 > >Hive專案開發環境搭建(Eclipse\MyEclipse + Maven)

Hive專案開發環境搭建(Eclipse\MyEclipse + Maven)

寫在前面的話

    可詳細參考,一定得去看

  我這裡,相信,能看此部落格的朋友,想必是有一定基礎的了。我前期寫了大量的基礎性博文。可以去補下基礎。

步驟一:File  ->  New  -> Project   ->  Maven Project 

 步驟二:自行設定,待會建立的myHBase工程,放在哪個目錄下。

步驟三:

 步驟四:自行設定

 步驟五:修改jdk

 

省略,很簡單!

步驟六:修改pom.xml配置檔案

官網Maven的zookeeper配置檔案內容:

地址:http://www.mvnrepository.com/search?q=hive

 

 

 1、

2、

3、

   

 4、

5、

6、

   暫時這些吧,以後需要,可以自行再加呢!

 

  最後的pom.xml配置檔案為

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>zhouls.bigdata</groupId>
<artifactId>myHive</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>

<name>myHive</name>
<url>http://maven.apache.org</url>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.hive/hive-exec -->
<dependency>
<groupId>org.apache.hive</groupId>
<artifactId>hive-exec</artifactId>
<version>1.2.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.hive/hive-metastore -->
<dependency>
<groupId>org.apache.hive</groupId>
<artifactId>hive-metastore</artifactId>
<version>1.2.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.hive/hive-common -->
<dependency>
<groupId>org.apache.hive</groupId>
<artifactId>hive-common</artifactId>
<version>1.2.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.hive/hive-service -->
<dependency>
<groupId>org.apache.hive</groupId>
<artifactId>hive-service</artifactId>
<version>1.2.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.hive/hive-jdbc -->
<dependency>
<groupId>org.apache.hive</groupId>
<artifactId>hive-jdbc</artifactId>
<version>1.2.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-common -->
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>2.6.0</version>
</dependency>
<dependency>
<groupId>jdk.tools</groupId>
<artifactId>jdk.tools</artifactId>
<version>1.7</version>
<scope>system</scope>
<systemPath>${JAVA_HOME}/lib/tools.jar</systemPath>
</dependency>
</dependencies>
</project>

當然,這只是初步而已,最簡單的,以後可以自行增刪。

 在使用JDBC連結Hive之前,首先要開啟Hive監聽使用者的連線。即在執行程式碼前,得

開啟Hive服務的方法如下:

  hive --service hiveserver2 >/dev/null  2>/dev/null& 

步驟七:這裡,給大家,通過一組簡單的Hive應用程式例項來向大家展示Hive的某些功能。

  類名為HiveTestCase.java

  1 package zhouls.bigdata.myHive;
  2 
  3 import java.sql.Connection; 
  4 import java.sql.DriverManager; 
  5 import java.sql.ResultSet; 
  6 import java.sql.SQLException; 
  7 import java.sql.Statement; 
  8 
  9 import org.apache.log4j.Logger; 
 10 
 11 /** 
 12 * Handle data through hive on eclipse 
 13 * @author zhouls 
 14 * @time 2016\11\12 22:14 
 15 */ 
 16 public class HiveTestCase { 
 17     private static String driverName = "org.apache.hadoop.hive.jdbc.HiveDriver"; 
 18     private static String url = "jdbc:hive2://djt002:10000/default"; 
 19     private static String user = ""; 
 20     private static String password = ""; 
 21     private static String sql = ""; 
 22     private static ResultSet res; 
 23     private static final Logger log = Logger.getLogger(HiveTestCase.class); 
 24 
 25     public static void main(String[] args) { 
 26         try { 
 27             Class.forName(driverName); // 註冊JDBC驅動 
 28 //            Connection conn = DriverManager.getConnection(url, user, password); 
 29 
 30             //預設使用埠10000, 使用預設資料庫,使用者名稱密碼預設 
 31             Connection conn = DriverManager.getConnection("jdbc:hive2://djt002:10000/default", "", "");
 32 //            Connection conn = DriverManager.getConnection("jdbc:hive://HadoopSlave1:10000/default", "", "");
 33             //當然,若是3節點叢集,則HadoopMaster或HadoopSlave1或HadoopSlave2都可以呢。前提是每個都安裝了Hive,當然只安裝一臺就足夠了。
 34 
 35             //    Statement用來執行SQL語句
 36             Statement stmt = conn.createStatement(); 
 37 
 38             // 建立的表名 
 39             String tableName = "testHiveDriverTable"; 
 40 
 41             /** 第一步:存在就先刪除 **/ 
 42             sql = "drop table " + tableName; 
 43             stmt.executeQuery(sql); 
 44 
 45             /** 第二步:不存在就建立 **/ 
 46             sql = "create table " + tableName + 
 47                   "(userid int , " + 
 48                   "movieid int," +
 49                   "rating int," +
 50                   "city string," +
 51                   "viewTime string)" +
 52                   "row format delimited " +
 53                   "fields terminated by '\t' " +
 54                   "stored as textfile";
 55 
 56             // sql = "create table " + tableName + " (key int, value string) row format delimited fields terminated by '\t'";
 57             stmt.executeQuery(sql); 
 58 
 59             // 執行“show tables”操作 
 60             sql = "show tables '" + tableName + "'"; 
 61             System.out.println("Running:" + sql); 
 62             res = stmt.executeQuery(sql); 
 63             System.out.println("執行“show tables”執行結果:"); 
 64             if (res.next()) { 
 65                 System.out.println(res.getString(1)); 
 66             } 
 67 
 68             // 執行“describe table”操作 
 69             sql = "describe " + tableName; 
 70             System.out.println("Running:" + sql); 
 71             res = stmt.executeQuery(sql); 
 72             System.out.println("執行“describe table”執行結果:"); 
 73             while (res.next()) { 
 74                 System.out.println(res.getString(1) + "\t" + res.getString(2)); 
 75             } 
 76 
 77             // 執行“load data into table”操作 
 78             String filepath = "/usr/local/data/test2_hive.txt"; //因為是load data local inpath,所以是本地路徑
 79             sql = "load data local inpath '" + filepath + "' into table " + tableName; 
 80             
 81 //            String filepath = "/hive/data/test2_hive.txt"; //因為是load data  inpath,所以是叢集路徑,即hdfs://djt002/9000/hive/data/下
 82 //            sql = "load data inpath '" + filepath + "' into table " + tableName; 
 83             
 84             System.out.println("Running:" + sql); 
 85             res = stmt.executeQuery(sql); 
 86 
 87             // 執行“select * query”操作 
 88             sql = "select * from " + tableName; 
 89             System.out.println("Running:" + sql); 
 90             res = stmt.executeQuery(sql); 
 91             System.out.println("執行“select * query”執行結果:"); 
 92             while (res.next()) { 
 93                 System.out.println(res.getInt(1) + "\t" + res.getString(2)); 
 94             } 
 95 
 96             // 執行“regular hive query”操作 
 97             sql = "select count(1) from " + tableName; 
 98             System.out.println("Running:" + sql); 
 99             res = stmt.executeQuery(sql); 
100             System.out.println("執行“regular hive query”執行結果:"); 
101             while (res.next()) { 
102                 System.out.println(res.getString(1)); 
103 
104             } 
105 
106             conn.close(); 
107             conn = null; 
108         } catch (ClassNotFoundException e) { 
109             e.printStackTrace(); 
110             log.error(driverName + " not found!", e); 
111             System.exit(1); 
112         } catch (SQLException e) { 
113             e.printStackTrace(); 
114             log.error("Connection error!", e); 
115             System.exit(1); 
116         } 
117 
118     } 
119 }

  或者

 1 package com.dajangtai.Hive;
 2 
 3 
 4 
 5 
 6 import java.sql.Connection;
 7 import java.sql.DriverManager;
 8 import java.sql.ResultSet;
 9 import java.sql.SQLException;
10 import java.sql.Statement;
11 
12 
13 public class Demo {
14     private static String driverName = "org.apache.hive.jdbc.HiveDriver";//hive驅動名稱
15     private static String url = "jdbc:hive2://djt002:10000/default";//連線hive2服務的連線地址,Hive0.11.0以上版本提供了一個全新的服務:HiveServer2
16     private static String user = "hadoop";//對HDFS有操作許可權的使用者
17     private static String password = "";//在非安全模式下,指定一個使用者執行查詢,忽略密碼
18     private static String sql = "";
19     private static ResultSet res;
20     public static void main(String[] args) {
21         try {
22             Class.forName(driverName);//載入HiveServer2驅動程式
23             Connection conn = DriverManager.getConnection(url, user, password);//根據URL連線指定的資料庫
24             Statement stmt = conn.createStatement();
25             
26             //建立的表名
27             String tableName = "testHiveDriverTable";
28             
29             /** 第一步:表存在就先刪除 **/
30             sql = "drop table " + tableName;
31             stmt.execute(sql);
32             
33             /** 第二步:表不存在就建立 **/
34             sql = "create table " + tableName + " (key int, value string)  row format delimited fields terminated by '\t' STORED AS TEXTFILE";
35             stmt.execute(sql);
36             
37             // 執行“show tables”操作
38             sql = "show tables '" + tableName + "'";
39             res = stmt.executeQuery(sql);
40             if (res.next()) {
41                 System.out.println(res.getString(1));
42             }
43             
44             // 執行“describe table”操作
45             sql = "describe " + tableName;
46             res = stmt.executeQuery(sql);
47             while (res.next()) {  
48                 System.out.println(res.getString(1) + "\t" + res.getString(2));
49             }
50             
51             // 執行“load data into table”操作
52             String filepath = "/usr/local/data/djt.txt";//hive服務所在節點的本地檔案路徑
53             sql = "load data local inpath '" + filepath + "' into table " + tableName;
54             stmt.execute(sql);
55             
56             // 執行“select * query”操作
57             sql = "select * from " + tableName;
58             res = stmt.executeQuery(sql);
59             while (res.next()) {
60                 System.out.println(res.getInt(1) + "\t" + res.getString(2));
61             }
62             
63             // 執行“regular hive query”操作,此查詢會轉換為MapReduce程式來處理
64             sql = "select count(*) from " + tableName;
65             res = stmt.executeQuery(sql);
66             while (res.next()) {
67                 System.out.println(res.getString(1));
68             }        
69             conn.close();
70             conn = null;
71         } catch (ClassNotFoundException e) {
72             e.printStackTrace();
73             System.exit(1);
74         } catch (SQLException e) {
75             e.printStackTrace();
76             System.exit(1);
77         }
78     }
79 }

  若是MyEclipse裡,需要注意一下

相關推薦

Hive專案開發環境搭建Eclipse\MyEclipse + Maven

寫在前面的話     可詳細參考,一定得去看   我這裡,相信,能看此部落格的朋友,想必是有一定基礎的了。我前期寫了大量的基礎性博文。可以去補下基礎。 步驟一:File  ->  New  -> Project   ->  Maven Project 

Hadoop專案開發環境搭建Eclipse\MyEclipse + Maven

寫在前面的話     可詳細參考,一定得去看   我這裡,相信,能看此部落格的朋友,想必是有一定基礎的了。我前期寫了大量的基礎性博文。可以去補下基礎。 步驟一:File  ->  New  -> Project   ->  Maven Project

Zookeeper專案開發環境搭建Eclipse\MyEclipse + Maven

寫在前面的話     可詳細參考,一定得去看   我這裡,相信,能看此部落格的朋友,想必是有一定基礎的了。我前期寫了大量的基礎性博文。可以去補下基礎。   步驟一:File  ->  New  -> Project   ->  Maven Project 

HBase 開發環境搭建Eclipse\MyEclipse + Maven

 寫在前面的話    首先,   相信,能看此部落格的朋友,想必是有一定基礎的了。我前期寫了大量的基礎性博文。可以去補下基礎。   比如,    需要注意的是,同樣,在MyEclipse裡,也是需要先安裝好Maven的。切記切記,否則,會裝到預設的位置,C盤裡去。最好是,安

MapReduce 開發環境搭建Eclipse\MyEclipse + Maven

寫在前面的話     可詳細參考,一定得去看   我這裡,相信,能看此部落格的朋友,想必是有一定基礎的了。我前期寫了大量的基礎性博文。可以去補下基礎。 步驟一:File  ->  New  -> Project   ->  Maven Project

Spark開發環境搭建IDEA、Maven

在搭建開發環境之前,請先安裝好scala開發環境和spark: scala:https://blog.csdn.net/qq_39429714/article/details/84332869 spark:https://blog.csdn.net/qq_39429714/article/d

windows下golang開發環境搭建Eclipse篇

1.go語言環境安裝 下載地址:https://golang.org/dl/ 找windows下面的msi檔案下載安裝即可。注意位數喲~ 安裝完這個你就可以在命令列下面執行go程式啦:go run test.go package main import ( "fmt" ) fu

Eclipse + Golang 開發環境搭建 要點備忘

安裝步驟 官網下載Golang,安裝 官網下載eclipse,安裝 除錯需要安裝gdb 比較方便的方法是,官網下載安裝 liteide,拷貝其bin下gdb.exe gdb64.exe到go目錄bin下 Eclipse Golang環境配置 點選

HBase 開發環境搭建Eclipse+Maven

環境: Win764bit Eclipse Version: Kepler Service Release 1 java version “1.7.0_40” 第一步:Eclipse中新建Maven專案,編輯pom.xml並更新下載jar包

手機自動化測試環境搭建eclipse+python+uiautomator

list fig finish java環境 pda 所有 開發 界面 自己 最近在公司做了一個階段的手機APP自動化測試,是在已有的環境基礎上進行腳本開發,所有對基礎的環境搭建不是很清楚,後來自己閑來無事就在家裏搭建了一下下,接下來和大家分享一下搭建過程。 一:搭建手機A

程式設計工具Mac下的Java環境和Node.js/Ruby開發環境搭建基於Intellj Idea

參考: 一、Mac下的Java環境配置 1. 安裝Jdk 下載Mac版本的JDK,下好之後安裝,此時在bash中使用java -version命令已經看到Version號。 Mac支援多版本Java虛擬機器的選擇,選擇如下: 開啟Java控制檯之後可以在Desktop

嵌入式linux驅動開發環境搭建親測成功

一 開發環境: (1)主機:vmware8+fedora14,核心版本為2.6.35,主機自帶GCC版本4.5。(這兩點很重要,所有的問題都與這兩個因素有關)。 (2)目標機:S3C6410(arm11) (3)目標機核心:linux2.6.24 (4)交叉編譯工具:arm

react專案框架環境搭建持續更新中

一、建立react專案 1.1 install node 1.2 命令列:npx create-react-app my-app (npx comes with npm 5.2+ and higher) 利用react官方提供的腳手架建立專案,建立完一

我的開發環境搭建ubuntu菜鳥

  (關於此文中存在的一些問題,你可以參看評論區,不要被我誤導了)前段時間把系統換成了ubuntu,經過一段時間到發展,終於可以比較正常到完成開發工作了,但是就在今天,我的系統崩了,進不了桌面,而且終端

Hadoop實踐---叢集和開發環境搭建Intellij IDEA & Maven 開發Hadoop

1. 開發環境準備 1. Hadoop叢集安裝 2. Maven安裝 3. Intellij IDEA安裝 2. 建立專案 1. 建立Maven專案 2. 輸入GroupId 和 ArtifactId 新建專案後有提示

學習TP5前提篇:基於PHP的專案開發環境搭建

前言 之前我寫一個TP5框架快速上手的文章,如果你想快速上手TP5框架的話,可以看一下。這篇來聊一聊用TP5框架或者說用PHP來寫後端專案需要在部署哪些環境,還要需要準備哪些軟體。(方法不唯一) 需

Spark專案環境搭建單機五 配置eclipse的scala環境,並建立spark專案

先安裝scala 環境: eclipse版:spring-tool-suite-3.9.1.RELEASE-e4.7.1a-win32-x86_64 下載地址:https://www.scala-lang.org/download/  然後配置環境變數,參考以下地址:

Spark專案環境搭建單機hive-2.3.3安裝

上傳hive架包,然後解壓: tar -zxf apache-hive-2.3.3-bin.tar.gz hive 重新命名  mv apache-hive-2.3.3-bin hive 將mysql的驅動包加入hive的lib檔案下面 進入hive目錄下的c

java web開發環境搭建jdk+Tomcat+EclipseEclipse食用方法

首先-什麼是web應用程式? -可以用瀏覽器直接訪問的應用程式,不需要安裝其他軟體。 軟體開發領域的三大方向:桌面應用程式(C/S)、web應用程式 、嵌入式應用程式(安卓 iphone) 而ja

java web開發環境搭建java+tomcat+eclipse

下載安裝包/壓縮包 1.1 JDK 下載地址:Java SE Development Kit 8 Downloads 如果沒有安裝過java的建議裝java8或9,java版本關係到Tomcat