当前位置: 首页 > news >正文

辅导班如何做网站/网络查询网站

辅导班如何做网站,网络查询网站,绍兴建设开发有限公司网站,玩网页游戏的网站hive是给了我们很多内置函数的,比如转大小写,截取字符串等,具体的都在官方文档里面。但是并不是所有的函数都能满足我们的需求,所以hive提供了给我们自定义函数的功能。 一般有两种方法:自定义内置函数 UDF&#xff08…

       hive是给了我们很多内置函数的,比如转大小写,截取字符串等,具体的都在官方文档里面。但是并不是所有的函数都能满足我们的需求,所以hive提供了给我们自定义函数的功能。

     一般有两种方法:自定义内置函数 UDF(Java实现)和Transform关键字(Python)实现

一、Transform关键字(Python)实现

       Hive 的 TRANSFORM 关键字提供了在 SQL 中调用自写脚本的功能。适合实现 Hive 中没有的 功能又不想写 UDF 的情况,脚本一般都是python写的。

Json 数据如下:

[work@app ~/work/test]$ cat rating.json 
{"movie":"1193","rate":"5","timeStamp":"978300760","uid":"1"}
{"movie":"1195","rate":"8","timeStamp":"978301900","uid":"2"}

需求:把json的字段timeStamp转换为日期编号。

1.1、先加载 rating.json 文件到 hive 的一个原始表 rate_json

create table yz_rate_json(line string) row format delimited;

load data local inpath '/home/work/test/rating.json' into table yz_rate_json; 

hive> select * from yz_rate_json;
OK
{"movie":"1193","rate":"5","timeStamp":"978300760","uid":"1"}
{"movie":"1195","rate":"8","timeStamp":"978301900","uid":"2"}

1.2、创建 rate 这张表用来存储解析 json 出来的字段:

create table yz_rate(movie int, rate int, unixtime int, userid int) row format delimited fields terminated by '\t';

  解析 json,得到结果之后存入 rate 表: 

insert into table yz_rate select 
get_json_object(line,'$.movie') as movie,
get_json_object(line,'$.rate') as rate,
get_json_object(line,'$.timeStamp') as unixtime,
get_json_object(line,'$.uid') as userid
from yz_rate_json;

hive> select * from yz_rate;
OK
1193    5    978300760    1
1195    8    978301900

1.3、使用 transform+python 的方式去转换 unixtime 为 weekday

注意: 使用TRANSFORM需要将所有的候选变量,全部做处理,hive中不能接受select a, transform(b)的形式; 只能是select transform(a, b) using '***.py' as (new_a, new_b);

 1.3.1 先编辑一个 python 脚本文件

[work@app ~/work/test]$ cat datechange.py 
# coding=utf-8
import sys
import datetime
for line in sys.stdin:#获取每一行的内容并去掉头尾的空格line = line.strip()#根据换行符截取对应的字段movie,rate,timeinfo,userid = line.split('\t')#将timeinfo转成时间格式weekday = datetime.datetime.fromtimestamp(float(timeinfo)).isoweekday()#重新拼接拼接新的内容并加入换行符print '\t'.join([movie, rate, str(weekday),userid])

1.3.2、创建最后的用来存储调用 python 脚本解析出来的数据的表:yz_lastjsontable

create table yz_lastjsontable(movie int, rate int, weekday int, userid int) row format delimited
fields terminated by '\t';

1.3.3、保存文件 然后,将文件加入 hive 的 classpath:

add file /home/work/datechange.py;
insert into table yz_lastjsontable select transform(movie,rate,unixtime,userid)
using 'python datechange.py' as(movie,rate,weekday,userid) from yz_rate;

1.3.4、最后查询看数据是否正确

hive> select * from  yz_lastjsontable;
OK
1193    5    1    1
1195    8    1    2

 参考:https://www.cnblogs.com/songweideboke/p/9814604.html

二、自定义函数UDF

Hive 自定义函数UDF开发手把手教程—— 创建临时函数和永久函数

三、查看官方提供和永久自定义函数的方法

hive> show functions;
OK
!
!=
%
&
*
+
-
/
<
<=
<=>
<>
=
==
>
>=
^
abs
acos
add_months
and
array
array_contains
ascii
asin
assert_true
atan
avg
base64
between
bin
case
cbrt
ceil
ceiling
coalesce
collect_list
collect_set
compute_stats
concat
concat_ws
…………

http://www.jmfq.cn/news/5085037.html

相关文章:

  • 千锋教育西安校区/seo排名优化公司价格
  • 营销型网站建设大千建站/浙江网络推广公司
  • 网页使用怎么做/杭州seo顾问
  • 网站域名怎么免费获取/网络优化工程师需要学什么
  • 福永网站的建设/建网站怎么赚钱
  • 网站后期维护工作包括哪些/厉害的seo顾问
  • 查询企业年报的网站/东莞搜索引擎推广
  • 成都设计公司视频制作/百度关键词优化系统
  • 篇高端网站愿建设/在线看seo网站
  • 乐山 做网站/百度搜索引擎优化的方法
  • 网站建设设计的流程/矿泉水软文广告500字
  • 通信工程网站建设/郑州网络运营培训
  • 湖北省住房和城乡建设厅门户网站/郑州seo多少钱
  • 曰本真人性做爰 酥酥网站/百度网络营销中心
  • 深圳网站设计公司电/热搜榜排名今日
  • 做微信网站/线上宣传方式
  • 电商实训网站建设报告/百度推广技巧方法
  • 网站建设公司哪里好/线下营销推广方式有哪些
  • 新民正规网站建设价格咨询/网络广告四个特征
  • 西安网站制作的公司/网站运营师
  • 旅游加盟网站建设/江苏网站开发
  • 北京装修公司网站建设/电商网站对比表格
  • 一区适合晚上一个人看b站/免费优化网站
  • linux系统搭建网站/seo站长工具平台
  • 什么主题的网站容易做/百度小说官网
  • 方庄网站建设/补习班
  • 安徽设计网站建设/百度推广客户端电脑版
  • 触屏版网站模板/云南网站seo服务
  • 做网站骗/快排seo软件
  • 做资源网站违法吗/seo博客网址