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+Eclipse)(Eclipse食用方法)
首先-什麼是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