随笔分类 -  Hive & SQL

摘要:概述 GROUPING SETS,GROUPING__ID,CUBE,ROLLUP 这几个分析函数通常用于OLAP中,不能累加,而且需要根据不同维度上钻和下钻的指标统计,比如,分小时、天、月的UV数。 GROUPING SETS和GROUPING__ID 说明 在一个GROUP BY查询中,根据不同 阅读全文
posted @ 2019-04-03 13:26 静悟生慧 阅读(49383) 评论(2) 推荐(4)
摘要:这里,row_number() over(ORDER BY rand(1000)) 中,1000相当于一个随机种子,跑多次,随机的结果是一样的; 阅读全文
posted @ 2019-02-25 20:01 静悟生慧 阅读(3689) 评论(0) 推荐(0)
摘要:lower(string A) lcase(string A) 将文本字符串转换成字母全部小写形式 upper(string A) ucase(string A) 将文本字符串转换成字母全部大写形式 常用字符串相关函数,可以参考: https://www.iteye.com/blog/blackpr 阅读全文
posted @ 2019-02-15 18:22 静悟生慧 阅读(20787) 评论(0) 推荐(1)
摘要:数据库查询*分组排序取top n要求:按照课程分组,查找每个课程最高的两个成绩。 数据文件如下: 第一列no为学号,第二列course为课程,第三列score为分数 mysql> select * from lesson;+ + + +| no | course | score |+ + + +| 阅读全文
posted @ 2019-01-07 15:06 静悟生慧 阅读(3562) 评论(0) 推荐(0)
摘要:SELECT 语句可以使用正则表达式做列选择,下面的语句查询除了 ds 和 hr 之外的所有列: SELECT `(ds|hr)?+.+` FROM test 阅读全文
posted @ 2018-12-29 13:19 静悟生慧 阅读(1637) 评论(0) 推荐(0)
摘要:Spark实现行列转换pivot和unpivot 背景 做过数据清洗ETL工作的都知道,行列转换是一个常见的数据整理需求。 首先明确一下啥叫行列转换,因为这个叫法也不是很统一,有的地方叫转置,有的地方叫透视,不一而足。我们就以下图为例,定义如下: 从左边这种变成右边这种,叫透视(pivot) 反之叫 阅读全文
posted @ 2018-12-07 19:48 静悟生慧 阅读(3674) 评论(0) 推荐(0)
摘要:hive>show databases;hive>use databasename;hive>show create table tablename; --查看table的存储路径hive>desc tablename; --查看table的表结构hive>show functions; --查看所 阅读全文
posted @ 2018-11-29 13:21 静悟生慧 阅读(6364) 评论(0) 推荐(0)
摘要:第一种: sql = sql.format(dt=dt) 第二种: item_third_cate_cd_list = " 发发发 " ...... """ + item_third_cate_cd_list + """ ....... 阅读全文
posted @ 2018-11-27 18:22 静悟生慧
摘要:打印结果: 阅读全文
posted @ 2018-11-21 12:15 静悟生慧 阅读(3800) 评论(1) 推荐(0)
摘要:Alter Table 语句 它是在Hive中用来修改的表。 语法 声明接受任意属性,我们希望在一个表中修改以下语法。 阅读全文
posted @ 2018-11-09 14:59 静悟生慧 阅读(10379) 评论(0) 推荐(0)
摘要:参考:https://blog.csdn.net/wangguohe/article/details/79386917 https://blog.csdn.net/dreamingfish2011/article/details/51250641 阅读全文
posted @ 2018-11-08 17:14 静悟生慧 阅读(1630) 评论(0) 推荐(0)
摘要:在pandas中,concat, merge, join的使用方法可以参考以下资料: http://blog.csdn.net/stevenkwong/article/details/52528616 主要讲下笛卡尔积: 这里merge默认为内连接。 df1: df2: data: 由此可知,当两个 阅读全文
posted @ 2018-10-25 10:37 静悟生慧 阅读(4241) 评论(0) 推荐(0)
摘要:Hive的变量前面有一个命名空间,包括三个hiveconf,system,env,还有一个hivevar hiveconf的命名空间指的是hive-site.xml下面的配置变量值。 system的命名空间是系统的变量,包括JVM的运行环境。 env的命名空间,是指环境变量,包括Shell环境下的变 阅读全文
posted @ 2018-09-19 18:34 静悟生慧 阅读(3966) 评论(0) 推荐(0)
摘要:一、背景 1、在Hive Select查询中一般会扫描整个表内容,会消耗很多时间做没必要的工作。有时候只需要扫描表中关心的一部分数据,因此建表时引入了partition概念。 2、分区表指的是在创建表时指定的partition的分区空间。 3、如果需要创建有分区的表,需要在create表的时候调用可 阅读全文
posted @ 2018-09-14 12:46 静悟生慧 阅读(3505) 评论(0) 推荐(0)
摘要:注意在偶数情况下,中位数会存在小数,特别注意! hive里面倒是有个percentile函数和percentile_approx函数,其使用方式为percentile(col, p)、percentile_approx(col, p),p∈(0,1)p∈(0,1) 其中percentile要求输入的 阅读全文
posted @ 2018-09-14 12:16 静悟生慧 阅读(57757) 评论(0) 推荐(0)
摘要:日期/时间类型 Hive支持带可选的纳秒级精度的UNIX timestamp。Hive中的timestamp与时区无关,存储为UNIX纪元的偏移量。Hive提供了用于timestamp和时区相互转换的便利UDF:to_utc_timestamp和 from_utc_timestamp。Timesta 阅读全文
posted @ 2018-09-05 15:34 静悟生慧 阅读(17291) 评论(0) 推荐(0)
摘要:from pyspark.sql import SparkSession spark = SparkSession \ .builder \ .appName("Python Spark SQL basic example") \ .master("local") \ .enableHiveSupport() \ .getOrCreate() #try: ... 阅读全文
posted @ 2018-09-05 11:44 静悟生慧 阅读(1275) 评论(0) 推荐(0)
摘要:hive表的数据源有四种: hbase hdfs 本地 其他hive表 而hive表本身有两种: 内部表和外部表。 而hbase的数据在hive中,可以建立对应的外部表(参看hive和hbase整合) 区别:删除时,内部表删除hadoop上的数据;而外部表不删,其数据在外部存储,hive表只是查看数 阅读全文
posted @ 2018-09-05 10:04 静悟生慧 阅读(9868) 评论(0) 推荐(0)
摘要:set hive.cli.print.header=true; 阅读全文
posted @ 2018-09-05 09:22 静悟生慧 阅读(3526) 评论(0) 推荐(0)
摘要:## 在数据平台导入数据:1、新建表,注意分隔符的选取,按照txt中的格式确定是',' 还是 ‘\t’ ; 2、在将csv转为txt之后,去掉表头, 将csv转为txt时可以选择直接将后缀进行替换,不会出错;(尽量不要使用将csv另存为txt的方法,这样会出错) 3、选择导入的txt文件,支持utf 阅读全文
posted @ 2018-08-31 20:17 静悟生慧 阅读(385) 评论(0) 推荐(0)