当前位置: 传客网 > hive 长sql

hive 长sql

2017-01-09 作者:流星飞雨

记录下下面是自己写过的最长的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

  • hive jdbc配置

    第一部分:搭建HiveJDBC开发环境搭建:Steps•新建工程hiveTest•导入Hive依赖的包•Hive命令行启动Thrift服务•hive--servicehiveserver&第二

  • ETL Automation及Hive异常处理

    最近接手了公司的ETLAutomation相关工作,应用场景是这样的,ETL负责调度作业将关系型数据库中的订单及用户相关信息抽到hive中同时将flume收集的日志数据也加载到ods,再对hive中的数据根据ods、dw、dws、app等分

  • HIVE 创建表提示 Specified key was too long; max key&nbsp

    在hive中创建表提示Specifiedkeywastoolong;maxkeylengthis767bytesTimetaken:2.227seconds,Fetched:1row(s)hive>createtabletest1(i

  • python连接hive

    1准备连接hive的python代码在使用Python连接hive之前需要将hive中的文件拷贝到python的sys.path中cp-r$HIVE_PATH/lib/py/usr/local/lib/python2.7/site-pack

  • Hive使用

    一、安装准备1、下载hive-0.5.0-bin版本:http://apache.etoak.com/hadoop/hive/hive-0.5.0/2、JDK版本:jdk-6u20-linux-i586.bin3、操作系统:Linuxs13

  • 【原】HIVE文件存储格式的测试比较

    根据自身涉及到的数据分布和使用需求,对HIVE上的三类文件格式做了如下测试,指导HIVE的文件格式选型。测试存在环境、数据分布、测试偏重点的不同,本测试只供参考,不作为大家选型决策的绝对指导。HIVE的三种文件格式:TEXTFILE、SEQ

  • hive

    在hive方面是个菜鸟,现在读hive源码希望能够更了解底层,尤其是hive与Hadoop切换这块。但在读hive源码时发现比Hadoop源码难读一些,虽然Hadoop源码量比较大,但是整体很规范,命名规范,关键地方注释的比较明确。去年在读

  • Hive优化

    hive.optimize.cp=true:列裁剪hive.optimize.prunner:分区裁剪hive.limit.optimize.enable=true:优化LIMITn语句hive.limit.row.max.size=100

返回
顶部