会有些不一样

  1 例如使用SQL 之前,要了解用了那个库,use jz_daojia

  2 使用GET_JSON_OBJECT 函数等,以及参数 匹配 $.childBrithDay

 挺有意思的。新玩意哦

--odps sql
--********************************************************************--
--author:jz_admin
--create time:2019-11-11 10:14:49
--********************************************************************--
-- 这是什么意思?
-- 获取线索id,以及线索标签。
use jz_daojia;
SELECT a.id
,CONCAT_WS(',', COLLECT_SET(b.dict_value)) AS clue_labels
FROM (
SELECT a.id
,b.clue_label
FROM (
SELECT a.id
,GET_JSON_OBJECT(a.prop, '$.busSnapshotDto.clueLable') clue_label
FROM o_jz_clue_t_sale_clue a
WHERE dt = '${bdp.system.bizdate}'
) a
LATERAL VIEW EXPLODE(SPLIT(clue_label, ',')) b AS clue_label
) a LEFT
JOIN (
SELECT *
FROM o_jz_clue_t_dict
WHERE dt = '${bdp.system.bizdate}'
AND type IN ('target_unconform_label', 'clue_label','target_conform_label')
) b
ON a.clue_label = b.dict_key
GROUP BY a.id; -- 获取 SELECT a.*
,GET_JSON_OBJECT(a.prop, '$.busSnapshotDto.clueLable') clue_label
,GET_JSON_OBJECT(
GET_JSON_OBJECT(prop,'$.busSnapshotDto')
,'$.childBrithDay'
) AS childbrithday
,CASE WHEN a.category_id = 205 THEN '月嫂'
WHEN a.category_id = 270 THEN '育儿嫂'
WHEN a.category_id = 212 THEN '保姆'
ELSE '其他'
END AS category_name
FROM o_jz_clue_t_sale_clue a
WHERE dt = '${bdp.system.bizdate}'
AND delete_flag = 0
AND source_id != 100000680

基础的GET_JSON_OBJECT函数运用:

--odps sql
--********************************************************************--
--author:jz_admin
--create time:2019-11-11 14:27:08
--********************************************************************--
获取职员的职业。
use jz_daojia; SELECT us.* , GET_JSON_OBJECT(us.additional_info,'$.jobTitle') as title_s FROM d_sys_user as us
WHERE us.name LIKE "喜"
LIMIT 10 ;

hive sql基础了解的更多相关文章

  1. Hive SQL基础操作

    创建表 hive 查看本地的文件#Can execute local commands within CLI, place a command in between ! and ;!cat data/ ...

  2. 【原创】大数据基础之Hive(2)Hive SQL执行过程之SQL解析过程

    Hive SQL解析过程 SQL->AST(Abstract Syntax Tree)->Task(MapRedTask,FetchTask)->QueryPlan(Task集合)- ...

  3. 【原创】大数据基础之Hive(1)Hive SQL执行过程之代码流程

    hive 2.1 hive执行sql有两种方式: 执行hive命令,又细分为hive -e,hive -f,hive交互式: 执行beeline命令,beeline会连接远程thrift server ...

  4. 揭秘FaceBook Puma演变及发展——FaceBook公司的实时数据分析平台是建立在Hadoop 和Hive的基础之上,这个根能立稳吗?hive又是sql的Map reduce任务拆分,底层还是依赖hbase和hdfs存储

    在12月2日下午的“大数据技术与应用”分论坛的第一场演讲中,来自全球知名互联网公司——FaceBook公司的软件工程师.研发经理邵铮就带来了一颗重磅炸弹,他将为我们讲解FaceBook公司的实时数据处 ...

  5. Spark(Hive) SQL中UDF的使用(Python)

    相对于使用MapReduce或者Spark Application的方式进行数据分析,使用Hive SQL或Spark SQL能为我们省去不少的代码工作量,而Hive SQL或Spark SQL本身内 ...

  6. Spark(Hive) SQL数据类型使用详解(Python)

    Spark SQL使用时需要有若干“表”的存在,这些“表”可以来自于Hive,也可以来自“临时表”.如果“表”来自于Hive,它的模式(列名.列类型等)在创建时已经确定,一般情况下我们直接通过Spar ...

  7. 【甘道夫】使用HIVE SQL实现推荐系统数据补全

    需求 在推荐系统场景中,假设基础行为数据太少,或者过于稀疏,通过推荐算法计算得出的推荐结果非常可能达不到要求的数量. 比方,希望针对每一个item或user推荐20个item,可是通过计算仅仅得到8个 ...

  8. 深入浅出Hive企业级架构优化、Hive Sql优化、压缩和分布式缓存(企业Hadoop应用核心产品)

    一.本课程是怎么样的一门课程(全面介绍)    1.1.课程的背景       作为企业Hadoop应用的核心产品,Hive承载着FaceBook.淘宝等大佬 95%以上的离线统计,很多企业里的离线统 ...

  9. Spark(Hive) SQL中UDF的使用(Python)【转】

    相对于使用MapReduce或者Spark Application的方式进行数据分析,使用Hive SQL或Spark SQL能为我们省去不少的代码工作量,而Hive SQL或Spark SQL本身内 ...

随机推荐

  1. JavaScript.Remove

    Array.prototype.remove = function (from, to) {     var rest = this.slice((to || from) + 1 || this.le ...

  2. Ubuntu TTy字体

    目的:修改tty终端下的字体大小,中文显示,字体美观问题 Linux版本:xubuntu14.04 当切换到tty终端模式式,中文乱码,且字体太小,影响阅读.在网上搜了一些资料,将问题及解决方案记录如 ...

  3. bootstrap-select、datatables插件使用

    1.引入样式文件 <%--引入bootstrap_select样式--%> <link rel="stylesheet" type="text/css& ...

  4. 15、numpy——排序、条件刷选函数

    NumPy 提供了多种排序的方法. 这些排序函数实现不同的排序算法,每个排序算法的特征在于执行速度,最坏情况性能,所需的工作空间和算法的稳定性. 下表显示了三种排序算法的比较. 种类 速度 最坏情况 ...

  5. 在vue中设计一个客户签名的功能

    直接贴代码: <template> <div class="hello"> <p>签字:</p> <canvas id=&qu ...

  6. JS方法使用中文出参数 ,报错异常

    正常这样加载数字没问题,但是当参数是中文时就会报错 <li onclick='onSeach(‘’" + name+ "');'>" + name+ &quo ...

  7. elk相关启动脚本-shell编写

    elasticsearch-restart: #!/bin/bash PID=`ps -ef|grep elasticsearch|grep -vE 'grep|controller|elastics ...

  8. 微信小程序(2)--下拉刷新和上拉加载更多

    下拉刷新 1.首先在.json文件中配置(如果在app.json文件中配置,那么整个程序都可以下拉刷新.如果写在具体页面的.json文件中,那么就是对应的页面下拉刷新.) 具体页面的.json文件: ...

  9. 最强大的Android线程池框架

    背景 大家都知道在我们的开发中永远都离不开多线程,对于我们为什么要使用多线程,多线程的使用和多线程的一些基础知识这里我们就不讲了,有兴趣的朋友可以去看一下博主之前的几篇文章: 线程你真的了解它吗 这才 ...

  10. spring boot 提纲

    http://tengj.top/categories/Spring-Boot%E5%B9%B2%E8%B4%A7%E7%B3%BB%E5%88%97/ http://blog.csdn.net/ca ...