hive 长sql

记录下下面是自己写过的最长的sql


SELECT
        c.channel_detail_name,
        t1.regist,
        t2.book,
        t3.attend,
        t4.na_book,
        t5.na_attend,
        t6.pay_user,
        t6.pay_money,
        t7.pay_na_user,
        t7.na_pay_money,
        t8.na_extend
FROM
        (
                SELECT
                        channel_detail_name
                FROM
                        dwd.dwd_user_dim_channel
        ) c
LEFT JOIN (
        SELECT
                b.channel_name,
                count(b.id) regist
        FROM
                dwd.dwd_user_dim_user_base b
        WHERE
                b.add_time >= '2017-01-04 00:00:00'
        AND b.add_time <= '2017-01-04 23:59:59'
        GROUP BY
                b.channel_name
) t1 ON c.channel_detail_name = t1.channel_name
LEFT JOIN (
        SELECT
                b.channel_name,
                count(a.user_id) book
        FROM
                dwd.dwd_user_dim_user_appoint a
        LEFT JOIN dwd.dwd_user_dim_user_base b ON a.user_id = b.id
        WHERE
                a.first_free_add_time >= '2017-01-04 00:00:00'
        AND a.first_free_add_time <= '2017-01-04 23:59:59'
        GROUP BY
                b.channel_name
) t2 ON c.channel_detail_name = t2.channel_name
LEFT JOIN (
        SELECT
                b.channel_name,
                count(a.user_id) attend
        FROM
                dwd.dwd_user_dim_user_appoint a
        LEFT JOIN dwd.dwd_user_dim_user_base b ON a.user_id = b.id
        WHERE
                a.first_free_start_time >= '2017-01-04 00:00:00'
        AND a.first_free_start_time <= '2017-01-04 23:59:59'
        GROUP BY
                b.channel_name
) t3 ON c.channel_detail_name = t3.channel_name
LEFT JOIN (
        SELECT
                b.channel_name,
                count(a.user_id) na_book
        FROM
                dwd.dwd_user_dim_user_appoint a
        LEFT JOIN dwd.dwd_user_dim_user_base b ON a.user_id = b.id
        WHERE
                a.first_nat_free_add_time >= '2017-01-04 00:00:00'
        AND a.first_nat_free_add_time <= '2017-01-04 23:59:59'
        GROUP BY
                b.channel_name
) t4 ON c.channel_detail_name = t4.channel_name
LEFT JOIN (
        SELECT
                b.channel_name,
                count(a.user_id) na_attend
        FROM
                dwd.dwd_user_dim_user_appoint a
        LEFT JOIN dwd.dwd_user_dim_user_base b ON a.user_id = b.id
        WHERE
                a.first_nat_free_start_time >= '2017-01-04 00:00:00'
        AND a.first_nat_free_start_time <= '2017-01-04 23:59:59'
        GROUP BY
                b.channel_name
) t5 ON c.channel_detail_name = t5.channel_name
LEFT JOIN (
        SELECT
                b.channel_name,
                count(DISTINCT o.stu_id) pay_user,
                sum(
                        o.order_money - o.discount_money
                ) pay_money
        FROM
                dwd.dwd_user_fact_user_order o
        LEFT JOIN dwd.dwd_user_dim_user_base b ON o.stu_id = b.id
        WHERE
                o.is_normal_new = 1
        AND o.deal_time >= '2017-01-04 00:00:00'
        AND o.deal_time <= '2017-01-04 23:59:59'
        GROUP BY
                b.channel_name
) t6 ON c.channel_detail_name = t6.channel_name
LEFT JOIN (
        SELECT
                b.channel_name,
                count(DISTINCT o.stu_id) pay_na_user,
                sum(
                        o.order_money - o.discount_money
                ) pay_na_money
        FROM
                dwd.dwd_user_fact_user_order o
        LEFT JOIN dwd.dwd_user_dim_user_base b ON o.stu_id = b.id
        WHERE
                o.is_normal_new = 1
        AND o.deal_time >= '2017-01-04 00:00:00'
        AND o.deal_time <= '2017-01-04 23:59:59'
        AND b.is_na = 1
        GROUP BY
                b.channel_name
) t7 ON c.channel_detail_name = t7.channel_name
LEFT JOIN (
        SELECT
                b.channel_name,
                count(o.id) na_extend
        FROM
                dwd.dwd_user_fact_user_order o
        LEFT JOIN dwd.dwd_user_dim_user_base b ON o.stu_id = b.id
        WHERE
                o.deal_time >= '2017-01-04 00:00:00'
        AND o.deal_time <= '2017-01-04 23:59:59'
        AND o.order_type = 'na_pri'
        AND o.is_new = 0
        AND o.is_normal_new = 1
) t8 ON c.channel_detail_name = t8.channel_name

相关推荐

  • 搭建Hive的图形界面   Hive版本0.12.0 今天想使用一下Hive的图形化工具HWI,我的Hive是0.12.0版本。该版本已经集成了HWI的JAR包,在$HIVE_HOME/lib下的hive-hwi-0.12.0.war。配置文件也使用默认的即可,hive-site.xml中默认
  • Hive 第一讲  Hive快速入门 一:Hive的历史价值Hive是建立在Hadoop上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。Hive定义了简单的类SQL查询语言,
  • Hive第三讲 Hive电商数据实战 三:Hive电商数据实战ltbDate定义了日期的分类,将每天分别赋予所属的月份、星期、季度等属性,字段分别为日期、年月、年、月、日、周几、第几周、季度、旬、半月;ltbStock定义了订单表头,字段分别为订单号、交易位置、交易日期;ltb
  • Honeybee hive collapse mystery rooted in hive size --&nb Honeybeehivecollapsemysteryrootedinhivesize--ScienceDaily"Thetightlyorganizedsociallivesofhoneybees,oncesuchanamazingada
  • Hive第二讲   Hive实战 生产环境下,元数据存储用一个数据库存储是不可以的,需要主从备份,数据库的主从备份。Master-Slaves。将数据上传到HDFS上hadoopdfs-mkdir/library/sogouhadoopdfs–put./sogo
  • Spark on Hive的api站点的搭建开发与部署 根据之前几篇的部署,采用的环境以及引用的jar包如下:scalatra版本:2.4.0.RC3sbt版本:0.13.8scala版本:2.10.4spark版本:2.5.2withhive以及thriftserver,编译时采用的faste
  • hive Metastore contains multiple versions 凌晨接到hive作业异常,hive版本为1.2.1,hadoop版本apache2.7.1,元数据存储在mysql中,异常信息如下:Logginginitializedusingconfigurationinjar:file:/opt/ap
  • Hive研究之模式设计 1、分区技能Hive中分区的功能是非常有用的。Hive通常要对输人进行全盘扫描,来满足查询条件(忽略掉Hive的索引功能)‘通过创建很多的分区确实可以优化一些查询,但是同时可能会对其他一些重要的查询不利:hive>CREATETABL
  • 第五十五讲  Spark SQL前奏之Hive 第五十五讲SparkSQL前奏之Hive一:Hive的本质是什么?1,Hive是分布式数据仓库,同时又是查询引擎,所以SparkSQL取代只是Hive查询引擎,在企业实际生产环境下Hive+SparkSQL是目前最为经典的数据分析组合。2,
  • HIVE 数据类型转换   在《Hive内置数据类型》文章中,我们提到了Hive内置数据类型由基本数据类型和复杂数据类型组成。今天的话题是Hive数据类型之间的转换。同Java语言一样,Hive也包括隐式转换(implicitconversions)和显式转换(e
  • hive参数——深入浅出学Hive 目录:初始HiveHive安装与配置Hive内建操作符与函数开发HiveJDBChive参数Hive高级编程HiveQLHiveShell基本操作hive优化Hive体系结构Hive的原理配套视频课程第一部分:Hive参数hive.exec
  • hive 原理 第一部分:Hive原理为什么要学习Hive的原理•一条HiveHQL将转换为多少道MR作业•怎么样加快Hive的执行速度•编写HiveHQL的时候我们可以做什么•Hive怎么将HQL转换为MR作业&b

你的评论

就没有什么想说的吗?

最新博客

关于我们 移动版

©2017传客网    琼ICP备15003173号-2    

本站部分文章来源于互联网,版权归属于原作者。
本站所有转载文章言论不代表本站观点,如是侵犯了原作者的权利请发邮件联系站长(weishubao@126.com),我们收到后立即删除。
站内所有资源仅供学习与参考,请勿用于商业用途,否则产生的一切后果将由您自己承担!

X