FusionInsight大數據開發---Hive應用開發

Hive應用開發

  1. 瞭解Hive的基本架構原理
  2.  掌握JDBC客戶端開發流程
  3. 瞭解ODBC客戶端的開發流程
  4. 瞭解python客戶端的開發流程
  5. 瞭解Hcatalog/webHcat開發接口
  6.  掌握Hive開發規則

1. 瞭解Hive的基本架構原理
守護進程:python

  1. HiveServer(Thrift/Compiler)
  2. webHcat
  3. MetaStore

Hive的應用場景web

  1. 數據挖掘
  2. 非實時分析
  3. 數據彙總
  4. 做爲數據倉庫

2. 掌握JDBC客戶端開發流程
JDBC開發-參數初始化數據庫

  1. 設置ZooKeeper地址
  2. krb5文件路徑
  3. 設置JAAS配置
  4. 配置ZooKeeper Principal
  5. 執行登錄

JDBC開發-拼接URL安全

  1. JDBC前綴設置
  2. 服務發現模式
  3. 安全配置:qop.auth.principal
  4. 非安全配置

JDBC開發-執行SQL架構

  1. 加載驅動類
  2. 創建鏈接
  3. 執行SQL
  4. 關閉鏈接

JDBC開發-SQL實現spa

  1. 建立preparedStatement
  2. 執行statement
  3. 關閉statement

規則建議:
開發調式:在開發程序時,可經過使用Hive的客戶端Beeline先進行調試,檢驗語句與結果正確性,再部署基於JDBC等的應用程序。
獲取數據庫鏈接:Hive的數據庫URL再拼接時已經通過安全認證,因此Hive數據庫的用戶名和密碼爲null或空 。調試


JDBC超時限制:Hive提供的JDBC實現的超時限制,默認是5分鐘。接口


執行HQL:再JAVA JDBC應用開發中,拼裝HQL語句,注意HQL語句不能以「;「結尾。進程


HQL語法規則之判空:判斷字段爲空使用:」is null「,判斷不爲空,即有值,使用:"is not null"ip


UDF的管理:建議由管理員建立永久UDF,避免每次使用時都去add jar,和從新定義UDF。


UDF的註解:Hive的UDF會有一些默認屬性。@UDFType(deterministic = false)


使用分區表:當數據量較大時,且常常須要按天統計時,建議使用分區表,按天存放數據。


動態分區表:爲了不插入動態分區數據過程當中,產生過多的小文件,在執行插入時,在分區字段上加distribut by。


文件格式選擇:Hive支持多種存儲格式,好比TextFile,RCFile,ORC,Sequence,Parquet.

相關文章
相關標籤/搜索