hive学习
文章平均质量分 82
大王go巡山
人生若只如初见
展开
-
jupyterlab支持spark和pyspark(跨集群)
引言:目前数据分析人员常用到jupyterlab来进行前期的数据探索,但纯净版只支持简单的python,不能满足数据分析人员的需求,如何为数据分析人员提供大数据集群下的数据访问就成了需要解决的问题。当前jupyter提供了一些官方kernel供用户使用,如最早的sparkmagic()和最近新的开源项目Apache Toree()都可以满足通过spark和pyspark方式对大数据集群数据的访问。对sparkmagic和toree调研分析后发现:sparkmagic:基于Apache livy实现原创 2021-03-15 00:02:10 · 999 阅读 · 1 评论 -
python读取hive方案分析
python读取hive方案对比引言最近接到一项任务–开发python工具,方便从HDFS读取文件和Hive表数据。当前网上的方案大多是通过第三方python包实现,只需导入指定pypi包即可完成,这种方案虽然在功能上具有可行性,但是当数据量级增大时,读取数据效率低下,无法满足业务场景需要,为此需调研其他方案实现python读取Hive表功能。原创 2021-03-06 20:42:08 · 8257 阅读 · 0 评论 -
sql执行顺序
查询语句中select from where group by having order by的执行顺序 1.查询中用到的关键词主要包含六个,并且他们的顺序依次为 select--from--where--group by--having--order by 其中select和from是必须的,其他关键词是可选的,这六个关键词的执行顺序 与sql语句的书写顺序并不是一样的...转载 2018-09-06 14:29:58 · 135 阅读 · 0 评论 -
数据仓库建设
1.数据仓库概要1.1.数据仓库起因 在建设数据仓库之前,数据散落在企业各部门应用的数据存储中,它们之间有着复杂的业务连接关系,从整体上看就如一张巨大的蜘蛛网:结构上错综复杂,却又四通八达。在企业级数据应用上单一业务使用方便,且灵活多变;但涉及到跨业务、多部门联合应用就会存在:①数据来源多样化,管理决策数据过于分散;②数据缺乏标准,难以整合;③数据口径不统一,可信度低;④缺乏数据管控...转载 2018-07-18 23:31:52 · 12681 阅读 · 2 评论 -
星型模型和雪花模型
原文https://blog.csdn.net/u010454030/article/details/74589791星型模型:数仓建模基本都通过维度建模,这时候我们需要将多维度的信息汇总到事实表中,这样就形成了一个星型模型。但这样往往会产生数据冗余,而且客户需要更详细的维度区分,这时候星型模型就不能满足我们的需要了。如(相同省的相同市的不同区,这时候用星型模型就会重复存储数据,产生数据冗余)...原创 2018-07-18 23:14:48 · 1154 阅读 · 0 评论 -
hive中distinct和group by
SELECT COUNT(DISTINCT USER_ID) FROM STU上述sql会将所有USER_ID都shuffle到一个reduce中,如果数据量很大时,速度会变慢。SELECT COUNT(*) FROM (SELECT USER_ID FROM STU GROUP BY USER_ID)上述sql会根据group by 分组的结果产生多个reduce,然后并行执行,数据量很大时速度...原创 2018-07-05 23:33:59 · 1881 阅读 · 0 评论 -
where 1=1和where 1=0
1.where 1=1 select * from where 1=1 and if(a.id=2,'true','false')加where 1=1不管if有没有满足where后总是有条件的。select * from where if(a.id=2,'true','false')不加where 1=1,如果if条件均不满足则where后无条件,sql报错满足多条件查询页面中不确定的各种因素而采...原创 2018-07-05 23:30:19 · 4353 阅读 · 1 评论 -
全量表/增量表/快照表
全量表:没有分区,包含截止目前所有的数据。INSERT OVERWRITE TABLE $target.table PARTITION (datekey='$now.datekey')INSERT OVERWRITE只是删除原有的分区并插入元素,其余分区不受到影响这里创建一个动态分区快照日期,该目标表每天存放的是该天以前所有的数据如select *from table ...原创 2018-07-18 15:26:01 · 5539 阅读 · 1 评论 -
hive常见错误
select id a.namefrom stu aleft join course bon a.id=b.id错误:SemanticException Column xx Found in more than One Tables/Subqueries问题:hivesql中关联时两张表如果出现相同字段则会报错select a.id a.namefrom stu a...原创 2018-07-10 17:06:58 · 490 阅读 · 0 评论 -
hive的collect_set
concat_ws常和collect_set和group by结合起来一起用collect_set去除重复元素;collect_list不去除重复元素collect_set(col)函数只接受基本数据类型,它的主要作用是将某字段的值进行去重汇总,产生array类型字段hive中常存在先通过group by对一字段去重后,还需要对另一字段也去重,这时候就需要collect_set()stu表IDco...原创 2018-06-27 22:53:08 · 4906 阅读 · 0 评论 -
hive分区
转自 https://www.cnblogs.com/yongjian/archive/2017/03/29/6640951.html 点击打开链接 Hive分区(静态分区+动态分区)Hive分区的概念与传统关系型数据库分区不同。传统数据库的分区方式:就oracle而言,分区独立存在于段里,里面存储真实的数据,在数据进行插入的时候自动分配分区。Hive的分区方式:由于Hive实际是存储在HDFS上...转载 2018-06-27 19:48:15 · 124 阅读 · 0 评论 -
hive分区表
新人入职第一天,听到了很多新名词:数据切源、Kylin、OLAP、OLTP。在看代码中看到了表分区的知识,对这个问题进行了学习总结。表分区主要是在已有的目录下细分更多的子目录(如员工表,我们将其通过哪一年出生分区,就可以得到一个年份的子目录,该目录里显示了员工除了出生年的详细信息)...原创 2018-06-19 23:11:03 · 125 阅读 · 0 评论 -
sql语句
1.substrSUBSTR (str, pos) // 在str中从pos位置开始截取后面的字符串,标示符从1开始适用于mysql和oracleSUBSTR(str,pos,len) // 在str中从pos位置开始截取len个长度的字符串,标示符从1开始例:Geography 表Region_NameStore_NameEastB...原创 2018-06-30 19:16:57 · 124 阅读 · 0 评论 -
order by/sort by/distribute by/cluster by
order by是在一个reduce中进行数据的排序sort by是在不同的reduce中进行数据的排序,执行了局部排序之后可以为接下去的全局排序提高不少的效率(其实就是做一次归并排序就可以做到全局排序了)。distribute by是聚合,指定map分配到哪个reducedistribue by和sort by结合起来可以在数据量很大时可以将相同的数据分到同一reduce中去排序distribu...原创 2018-06-29 23:37:36 · 145 阅读 · 0 评论 -
concat、concat_ws、group_concat函数用法
转自:https://www.cnblogs.com/xbblogs/p/6066386.html一、concat()函数可以连接一个或者多个字符串 CONCAT(str1,str2,…) 返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。 select concat('11','22','33'); 112233二、CONCAT_WS(separat...转载 2018-06-29 23:36:01 · 1121 阅读 · 0 评论 -
Hive实现词频统计
Hive中提供了类似于SQL语言的查询语言——HiveQL,可以通过 HiveQL语句快速实现简单的 MapReduce统计, Hive 自身可以将 HiveQL 语句快速转换成 MapReduce 任务进行运行,而不必开发专门的 MapReduce 应用程序,因而十分适合数据仓库的统计分析。 通过一个简单的词频统计来初步认识hive1.本地创建两个文本文件echo “hello world”&g...原创 2018-06-10 22:54:05 · 3498 阅读 · 0 评论