FusionInsight大数据开发---Hive应用开发

Hive应用开发

  1. 了解Hive的基本架构原理
  2.  掌握JDBC客户端开发流程
  3. 了解ODBC客户端的开发流程
  4. 了解python客户端的开发流程
  5. 了解Hcatalog/webHcat开发接口
  6.  掌握Hive开发规则

1. 了解Hive的基本架构原理
守护进程:

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

Hive的应用场景

  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实现

  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"


UDF的管理:建议由管理员创建永久UDF,避免每次使用时都去add jar,和重新定义UDF。


UDF的注解:Hive的UDF会有一些默认属性。@UDFType(deterministic = false)


使用分区表:当数据量较大时,且经常需要按天统计时,建议使用分区表,按天存放数据。


动态分区表:为了避免插入动态分区数据过程中,产生过多的小文件,在执行插入时,在分区字段上加distribut by。


文件格式选择:Hive支持多种存储格式,比如TextFile,RCFile,ORC,Sequence,Parquet.

原文地址:https://www.cnblogs.com/cainiao-chuanqi/p/11251556.html