Hadoop基础学习十二(hive获取json数据,规范建表,UDF)

文章目录

  • 一、数据的分类
  • 二、获取json数据
  • 三、规范建表
  • 四、用户自定义函数UDF
    • 具体实现
      • 1)在idea中导入hive的依赖
      • 2)编写简单功能
      • 3)打包,上传
      • 4)在hive中添加jar包
      • 5)在hive中注册函数的功能,起名字
      • 6)测试

一、数据的分类

数据分为三大类:
结构化数据:可以直接操作,按照某种固定分隔符。比如csv或者数据库中的数据。
非结构化数据:比如图片、视频等
半结构化数据:比如json字符串。

二、获取json数据

get_json_object(字段,'$.key1.key11')
例如:
select get_json_object(get_json_object(jline,'$.properties.property3'),'$.common.device') as device from ods.ods_jline limit 10;

三、规范建表

表名和库名首字母大写
库名_表名_实物_行为_日期

数据分层
1)ODS:用于存储原始数据表
2)DW:用于存放,抽取清洗后的数据,做宽表,连接维度表和事实表
3)ADS:将计算的结果数据保存到表中

四、用户自定义函数UDF

  • 应用场景:当有一些需求,hive内置函数满足不了sql查询的时候,可以用户通过java代码封装一个函数。
  • UDF的类型:三种,一般1对1的比较多
    • udf:输入一条数据,返回一条,1对1
    • UDAF:输入多条数据,输出1条。多对1.
    • UDTF:输入1一条数据,输出多条数据。1对多。
  • 自定义UDF需要继承org.apache.hadoop.hive.ql.exec.UDF。

具体实现

1)在idea中导入hive的依赖

 
            org.apache.hive
            hive-exec
            1.2.1
        

Hadoop基础学习十二(hive获取json数据,规范建表,UDF)_第1张图片

2)编写简单功能

Hadoop基础学习十二(hive获取json数据,规范建表,UDF)_第2张图片

3)打包,上传

Hadoop基础学习十二(hive获取json数据,规范建表,UDF)_第3张图片
Hadoop基础学习十二(hive获取json数据,规范建表,UDF)_第4张图片

4)在hive中添加jar包

Hadoop基础学习十二(hive获取json数据,规范建表,UDF)_第5张图片

5)在hive中注册函数的功能,起名字

Hadoop基础学习十二(hive获取json数据,规范建表,UDF)_第6张图片

6)测试

Hadoop基础学习十二(hive获取json数据,规范建表,UDF)_第7张图片
Hadoop基础学习十二(hive获取json数据,规范建表,UDF)_第8张图片

你可能感兴趣的:(Hadoop,数据库,大数据,hive)