数据湖仓
文章平均质量分 86
数据湖仓、数据中台
对许
这个作者很懒,什么都没留下…
展开
-
Impala:基于内存的MPP查询引擎
Impala是Cloudera公司主导研发的高性能、低延迟的交互式SQL查询引擎,它提供SQL语义,能查询存储在Hadoop的HDFS和HBase中的PB级大数据。Impala主要用于解决Hadoop生态圈无法支持交互式查询数据的痛点,Impala是CDH平台首选的PB级大数据实时交互式查询分析引擎2015年11月,Cloudera将Impala捐赠给了Apache基金会,2017年11月,Impala从Apache孵化器毕业。原创 2024-01-20 17:41:31 · 962 阅读 · 0 评论 -
数据去重,用DISTINCT还是GROUP BY?
MapReduce Job卡在了最后一个ReduceTask,任务迟迟未运行成功,ReduceTask只有一个如果某个Job任务卡在99%不动,例如,某个Reduce的时间比其他Reduce时间长的多,大部分Task在1分钟左右完成,只有一个Task执行20多分钟还没完成。这时我们就应该考虑出现数据倾斜了如果每个ReduceTask执行时间差不多,都特别长,不一定是数据倾斜导致的,可能是ReduceTask设置过少导致的。这时可以调整ReduceTask个数。原创 2023-12-28 18:10:34 · 959 阅读 · 0 评论 -
SQL连续
连续问题是实际数据开发中比较常见的场景。例如,统计用户连续活跃天数等SQL如何解决连续问题?本文主要介绍连续性问题,重点以常见的连续活跃场景为例,抽象出通用的连续问题解决方案。连续问题主要分为静态连续问题和动态连续问题两类本文尝试独辟蹊径,强调通过灵活的、发散性的数据处理思维,就可以用最基础的语法,解决复杂的数据场景。文章涉及的SQL语句使用了Hive SQL的基础语法和部分高级语法特性。原创 2023-12-15 18:03:21 · 1000 阅读 · 0 评论 -
SQL排列组合
排列组合是针对离散数据常用的数据组织方法,本节将分别介绍排列、组合的SQL实现方法,并结合实例着重介绍通过组合对数据的处理如何使用SQL实现排列与组合?本节将通过介绍分组对比统计场景,抽象出通用的解决方案本文尝试独辟蹊径,强调通过灵活的、发散性的数据处理思维,就可以用最基础的语法,解决复杂的数据场景。文章涉及的SQL语句使用了Hive SQL的基础语法和部分高级语法特性。原创 2023-12-14 17:58:27 · 1318 阅读 · 0 评论 -
SQL区间
区间相较数列具有不同的数据特征,不过在实际应用中,数列与区间的处理具有较多相通性。常见的区间操作有区间分割、区间交叉等SQL如何实现区间分割?SQL如何处理区间交叉?本节将介绍一些常见的区间场景,并抽象出通用的解决方案本文尝试独辟蹊径,强调通过灵活的、发散性的数据处理思维,就可以用最基础的语法,解决复杂的数据场景。文章涉及的SQL语句使用了Hive SQL的基础语法和部分高级语法特性传送门。原创 2023-12-14 14:47:11 · 1243 阅读 · 0 评论 -
PrestoSQL语法及优化
2020年12月27日,PrestoSQL为了更好的与Facebook的Presto进行区分而改名为Trino。PrestoSQL/Trino是一种分布式SQL查询引擎,旨在查询分布在一个或多个异构数据源上的大型数据集传送门PrestoSQL/Trino是一个符合ANSI SQL的查询引擎。这种标准合规性允许PrestoSQL用户将他们喜欢的数据工具(包括BI和ETL工具)与任何底层数据源集成PrestoSQL验证接收到的SQL语句并将其转换为对连接的数据源进行必要的操作。原创 2023-12-12 22:34:01 · 1047 阅读 · 0 评论 -
SQL数列
数列是最常见的数据形式之一,实际数据开发场景中遇到的基本都是有限数列。常见的数列例如:简单递增序列、等差数列、等比数列等如何充分发挥SQL能力?SQL如何实现递增序列、等差数列、等比数列?本文将从最简单的递增数列开始,找出一般方法并推广到更泛化的场景本文尝试独辟蹊径,强调通过灵活的、发散性的数据处理思维,就可以用最基础的语法,解决复杂的数据场景。文章涉及的SQL语句使用了Hive SQL的基础语法和部分高级语法特性。原创 2023-12-12 15:03:59 · 1237 阅读 · 0 评论 -
Presto集群安装部署
在单独一台服务器上配置Coordinator,有利于提高集群性能,因此,可以在node01上配置Coordinator,在node02、node03上配置Worker。2020年12月27日,PrestoSQL为了更好的与Facebook的Presto进行区分而改名为Trino。PrestoSQL/Trino是一种分布式SQL查询引擎,旨在查询分布在一个或多个异构数据源上的大型数据集。是最后一个支持jdk8环境的版本,如果想使用更新版本的Presto,可以为Presto单独指定jdk11。原创 2023-12-10 18:34:04 · 586 阅读 · 0 评论 -
Hive增强的聚合、多维数据集、分组和汇总
在多维分析场景下,我们可能会用到高阶聚合函数,例如CUBEROLLUP等。Hive、Spark、Presto等引擎都提供类似的高阶聚合函数,以对不同维度组合下的数据进行聚合统计Hive官方将这种分析称为GROUP BY子句增强的聚合、多维数据集、分组和汇总那么什么是增强聚合和多维分析呢?增强聚合是指在SQL中使用分组聚合查询时,使用CUBEROLLUP等子句进行操作。常见的查询引擎基本都支持这种语法,例如Hive、Spark、Presto、FlinkSQL等。原创 2023-12-07 17:28:00 · 1446 阅读 · 0 评论 -
Presto:基于内存的OLAP查询引擎
Facebook的数据仓库存储在少量大型Hadoop/HDFS集群。Hive是Facebook在十几年前专为Hadoop打造的一款数据仓库工具。在以前,Facebook的科学家和分析师一直依靠Hive来做数据分析。Hive使用MapReduce作底层计算框架,是专为批处理设计的随着数据源的多样化、数据仓库的不断扩展以及数据湖的发展,使用Hive及时获得有用的见解可能变得困难。例如使用Hive进行一个简单的数据查询可能需要花费几分钟甚至几小时,这显然不能满足企业级交互式查询的需求。原创 2023-12-03 18:22:02 · 962 阅读 · 0 评论 -
ClickHouse:真正的OLAP列式DBMS
ClickHouse官方文档:https://clickhouse.com/docs/zh原创 2023-11-27 22:09:25 · 831 阅读 · 0 评论 -
Hive谓词下推之FULL JOIN
本案例将使用full join连接类型进行演示,并透过full join来反映其它Hive谓词下推通用使用场景,得出普遍结论。b表先执行where过滤,过滤后再与a表进行full join,因此,a、b两表中rank=2的数据丢失,结果不符合要求。a表与b表互相没有匹配到的数据显示为NULL,数据不会丢失,但结果不符合要求。a表与b表互相没有匹配到的数据显示为NULL,数据不会丢失,但结果符合要求。原创 2023-11-06 22:14:03 · 426 阅读 · 1 评论 -
Hive内置表生成函数
在Hive中,所有的运算符和用户定义函数,包括用户定义的和内置的,统称为UDF(User-Defined Functions)。如下图所示:其中,用户自定义聚合函数和内置聚合函数统称为UDAF(User-Defined Aggregate Functions),用户自定义表生成函数和内置表生成函数统称为UDTF(User-Defined Table-Generating Functions)本文将主要通过具体案例详细介绍Hive的内置表生成函数(UDTF)原创 2023-11-24 16:37:17 · 1421 阅读 · 0 评论 -
Python操作Hive数据仓库
sasl模块是Python中用于实现SASL(Simple Authentication and Security Layer)认证的第三方库,提供了对各种SASL机制的支持,例如与Kafka、Hadoop等进行安全通信。Thrift是一个轻量级、跨语言的RPC框架,主要用于服务间的RPC通信。由于Hadoop集群节点间使用RPC通信,所以需要配置Thrift依赖环境。Python连接Hive需要使用Impala查询引擎。查找需要的whl文件,点击下载对应版本。开启Hive的JDBC服务。原创 2023-10-09 21:48:51 · 1449 阅读 · 0 评论 -
Hive插入数据警告:Hive-on-MR is deprecated in Hive 2 and may not be available in the future versions
启动Hive的JDBC服务并使用IDE连接到HIve,创建表成功,但是INSERT插入数据时经过长时间加载后无法得到预期结果,插入不成功。然而,很多小伙伴都是本地测试时使用的INSERT,更换Spark、Tez可不是那么容易;实际工作中根据生产环境需要可直接进行引擎修改,甚至都不用你修改,底层自动优化自动选择执行引擎。Hive-on-MR在Hive 2中已弃用,并且在未来版本中可能不可用。考虑使用不同的执行引擎(例如Spark、Tez)或使用Hive 1.X版本。我们发现,这就很明显了,说明Hive在。原创 2023-11-12 15:11:42 · 2942 阅读 · 3 评论 -
从HDFS到对象存储,抛弃Hadoop,数据湖才能重获新生?
换句话说,Hadoop和数据湖的关系是互补的,在可预见的未来,随着数据湖继续流行,Hadoop还将继续存在。同时,公有云计算平台的出现,某种程度上加速了数据的垄断和计算需求的集中,推动业界对于数据以及数据处理做出更明确的需求定义,针对性地投入开源项目,以社区这种更灵活开放的方式促进技术发展,再反哺公有平台的进化和发展。第三,在协议层面,由AWS提出的S3协议已经是对象存储事实上的通用协议,这个协议在设计之初就考虑到了云存储的场景,可以说对象存储在协议层就是云原生的协议,在数据接口的选择和使用上更具灵活性。原创 2023-11-11 19:48:05 · 758 阅读 · 0 评论 -
深入理解对象存储(OSD)
存储局域网(SAN)和网络附加存储(NAS)是目前两种主流网络存储架构,而对象存储(Object-based Storage)是一种新的网络存储架构,基于对象存储技术的设备就是对象存储设备(Object-based Storage Device),简称OSD对象存储,也称为“面向对象的存储”、“云存储”。它综合了网络附加存储(NAS)和存储局域网(SAN)的优点,同时具有SAN的高速直接访问和NAS的分布式数据共享等优势,提供了具有高性能、高可靠性、跨平台以及安全的数据共享的存储体系结构。原创 2023-11-11 17:19:45 · 3212 阅读 · 0 评论 -
Hive谓词下推
谓词下推(Predicate Pushdown,PPD)是指将过滤表达式尽可能移动至靠近数据源的位置,以使真正执行时能直接跳过无关的数据。简而言之,就是在合适的场景下,优先执行过滤条件。原创 2023-11-06 22:07:44 · 684 阅读 · 0 评论 -
Tableau:商业智能(BI)工具
Tableau成立于2003年,于2019年被Salesforce收购,是斯坦福大学一个计算机科学项目的成果,该项目旨在改善分析流程并让人们能够通过可视化更轻松地使用数据Tableau是一个可视化分析平台,它改变了我们使用数据解决问题的方式,使个人和组织能够充分利用自己的数据Tableau是分析领域值得信赖的领导者。作为现代商业智能的市场领先选择,Tableau平台以从几乎任何系统获取任何类型的数据,并将其快速轻松地转化为可操作的见解而闻名。就像拖放一样简单。原创 2023-10-11 18:03:41 · 2198 阅读 · 0 评论 -
Dremio:新一代数据湖仓引擎
Dremio是唯一具有自助式SQL分析功能的数据湖仓Dremio是一个开放式数据湖仓,可为您的所有数据提供自助式分析、数据仓库性能和功能以及数据湖灵活性Dremio是唯一一家为数据工程师和分析师提供易于使用的自助式SQL分析的数据湖仓Dremio是新一代的数据湖引擎,Dremio是一款完整的产品,Dremio通过界面化的SQL输入查询数据湖的数据。原创 2023-10-10 18:00:10 · 1642 阅读 · 0 评论 -
HQL解析Json对象列表字符串常见问题与解决
LATERAL VIEW子句与生成器函数(如explode)结合使用,将生成包含一个或多个行的虚拟表。使用LATERAL VIEW OUTER,结果数据不会丢失,explode()结果显示为NULL。explode()转换的Array中若包含NULL,则结果中不会有该行记录,最终导致。,结果数据不会丢失,explode()结果显示为。1、Json对象列表字符串解析为数组。1、Json对象列表字符串解析为数组。只能解析json字符串中都是使用。可以解析json字符串中都是使用。3、解析json字符串。原创 2023-09-09 16:00:18 · 405 阅读 · 0 评论