日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

GenericUDTF使用流程记载(转载+自己整理)

發布時間:2023/12/31 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 GenericUDTF使用流程记载(转载+自己整理) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

概述

本文是對[1]的整理和復現。

UDTF的意思是進一出多。

在hive中UDTF的意思是,輸入一條數據,返回多條數據

環境

組件版本
Hadoop3.1.2
Zookeeper3.6.0
Mysql8.0.22-0ubuntu0.20.04.2
Hive3.1.2

?

Hive準備工作

use db1; drop table if exists test; create table test( ind int, col string, col1 string ); insert into test values (1,'a,b,c','1,2'); insert into test values (2,'j,k',null); insert into test values (3,null,null) ;

注冊GenericUDTF流程

注冊命令(hive/beeline中進行)備注
add jar /home/appleyuchi/桌面/Flink_Code/FLINK讀寫各種數據源/Java/target/table_api-1.0-SNAPSHOT.jar;指明自定義依賴包
create temporary function get_map as 'ArrToMapUDTF';依賴包中的類ArrToMapUDTF注冊為get_map

?

使用GenericUDAF流程

hive命令實驗結果備注

use db1;

select * from test;

1?? ?a,b,c?? ?1,2
2?? ?j,k?? ?NULL
3?? ?NULL?? ?NULL

檢查hive功能是否ok

use db1;

select get_map(col,col1) from test;

a?? ?1
b?? ?2
c?? ?NULL
j?? ?NULL
k?? ?NULL
使用寫好的udtf

從實驗結果來看這個GenericUDAF的效果也很明顯:

把一條數據打散。

?

完整代碼:

https://gitee.com/appleyuchi/Flink_Code/blob/master/FLINK讀寫各種數據源/Java/src/main/java/ArrToMapUDTF.java

另外一個完整的例子可以參考[2]

Reference:

[1]hive中udtf編寫及使用

[2]Hive User Defined Table Generating Functions (UDTF) Java Example

總結

以上是生活随笔為你收集整理的GenericUDTF使用流程记载(转载+自己整理)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。