24-hadoop-hiveserver2jdbc-正则数据导入
生活随笔
收集整理的這篇文章主要介紹了
24-hadoop-hiveserver2jdbc-正则数据导入
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
hive 可以 類似jdbc鏈接, 但啟動的必須是hiveserver2, 才可以使用
hiveserver2
默認監聽 10000 端口
1, 啟動:?
nohup $HIVE_HOME/bin/hiveserver2 1>/dev/null 2>&1 &重定向輸出, 不干擾shell界面
nohup? 用戶退出, 也可以繼續執行
或者
$HIVE_HOME/bin/hive --service hiveserver2 1>/dev/null 2>&1 &2, 使用?Beeline 進行連接
beelin使用beeline鏈接, 和普通的hive是一樣的, 只不過是遠程的方式連接的, 操作命令幾乎相同
!connect jdbc:hive2://192.168.208.109:10000 username password // org.apache.hive.jdbc.HIveDrvier因為密碼為空, 所以不需要寫
!connect jdbc:hive2://localhost:10000 root // org.apache.hive.jdbc.HIveDrvier可以直接鏈接?
beelin -u jdbc:hive2://.. -n root?
?
3, 退出
!quit?
?JDBC鏈接
java鏈接:?
1, 導入jar包:?
${HIVE_HOME}/lib下的所有包
2, 導入hadoop的包, 否則報錯
導入的包為:?
${HADOOP_HOME}/share/hadoop/common/*
package com.wenbronk.hive;import java.sql.*;/****/ public class JDBCMain {private static String driverName = "org.apache.hive.jdbc.HiveDriver";public static void main(String[] args) throws SQLException {try {Class.forName(driverName);Connection con = DriverManager.getConnection("jdbc:hive2://192.168.208.109:10000/default", "root", "");String sql = "select * from people";PreparedStatement state = con.prepareStatement(sql);ResultSet res = state.executeQuery();while (res.next()) {System.out.println(res.getString(1) + "\t" + res.getString(2));}} catch (ClassNotFoundException e) {e.printStackTrace();System.exit(1);}finally {//close }} }?
官網的例子坑太多了, python的鏈接沒有實際操作, 改天試下并修改!!!!
?python 鏈接
需要先安裝包
pip install pyhs2然后鏈接:?
import pyhs2with pyhs2.connect(host='localhost',port=10000,authMechanism="PLAIN",user='root',password='',database='default') as conn:with conn.cursor() as cur:#Show databasesprint cur.getDatabases()#Execute querycur.execute("select * from table")#Return column info from queryprint cur.getSchema()#Fetch table resultsfor i in cur.fetch():print i?
使用正則導入不規則數據
使用regexBuddy, 來正確匹配正則表達式
匹配nignx日志;??
?
?
?
?系列來自尚學堂極限班
轉載于:https://www.cnblogs.com/wenbronk/p/7376086.html
總結
以上是生活随笔為你收集整理的24-hadoop-hiveserver2jdbc-正则数据导入的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: TabLayout让Fragment在V
- 下一篇: IntellIJ IDEA 启动 参数