![](https://img-blog.csdnimg.cn/7deff16106ab45dbafd738595bf26b07.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
大数据技术入门到21天通关
文章平均质量分 66
本专栏主要为博主总结大数据生态内容,包括Hadoop、Hive、Hbase、Impala、Sqoop、Spark、Flink、Kafka、ElasticSearch、Ambari等最具价值的大数据相关技术。2022年免费,2023年1月1日起将转为付费专栏,尚未订阅的读者请抓紧时间订阅本专栏!
forest_long
这个作者很懒,什么都没留下…
展开
-
【大数据入门核心技术】学习导读列表--建议收藏
本专栏主要为博主总结大数据生态内容,包括Hadoop、Hive、Hbase、Impala、Sqoop、Spark、Flink、Kafka、ElasticSearch、Ambari等最具价值的大数据相关技术。【大数据入门核心技术-基本概念】(一)大数据相关基本概念【大数据入门核心技术-基本概念】(二)大数据行业生态【大数据入门核心技术-基本概念】(三)大数据应用领域和行业【大数据入门核心技术-Zookeeper】原创 2022-12-03 00:43:28 · 1669 阅读 · 1 评论 -
【大数据入门核心技术-Doris】(七)Docker安装Doris
用于控制进程可以拥有的内存映射区域的最大 数量。,特别是在使用大量内存映射文件的情况下。,如果希望永久修改参数的值,可以编辑。是一个与内核虚拟内存子系统相关的参数。首先需要在宿主机执行如下命令。题,可设置回默认值,原创 2024-05-20 00:44:13 · 752 阅读 · 0 评论 -
【大数据入门核心技术-Hive】(二十)Hive哪些操作会触发MR
2)HDFS 数据加载: 如果数据源是 HDFS,并且目标表的存储格式是文本(TextFile)或某些列式存储格式(如 ORC 或 Parquet),则数据加载操作通常也不会触发 MapReduce 作业。Hive 会直接移动或复制数据到目标表的 HDFS 目录,并更新元数据。1)本地数据加载且存储格式不支持直接复制: 如果数据源是本地文件系统(LOCAL 关键字),但目标表的存储格式不支持直接复制(如 SequenceFile 或 RCFile),则数据加载操作可能触发 MapReduce 作业。原创 2024-05-19 12:48:07 · 118 阅读 · 0 评论 -
【大数据入门核心技术-Hue】(三)Docker安装部署Hue
(docker容器内部没有vi与vim工具) 默认配置文件路径 /usr/share/hue/desktop/conf。配置hue接入mysql 需要进入docker容器内部,编辑修改hue的配置文件,再重启hue服务,这样才能生效。将容器内部的配置文件拷贝到宿主机,之后再修改,修改完成之后再拷贝入容器的同一个路径下覆盖文件。注册登录之后内部不能查看到任何信息,因为还没有配置数据库。例如: kill 24 51 67。kill 掉其中的 hue进程。找到mysql配置对应的位置。原创 2024-05-12 22:27:03 · 191 阅读 · 2 评论 -
【大数据入门核心技术-Hive】(二十)Hive之grouping sets用法及grouping_id计算方法
grouping sets 中的每一种粒度,都对应唯一的 grouping__id 值,其计算公式与 group by 的顺序、当前粒度的字段有关。3、grouping sets 中的所有字段,都必须出现在 group by 中,相当于 group by 后面的字段是最细粒度。4、如果 select 中的字段,没有包含在某个 grouping set 中,那么这个粒度下的这个字段值为 NULL。这就是上面 grouping sets 的结果中 grouping__id 值的由来。原创 2024-05-08 21:10:30 · 218 阅读 · 0 评论 -
【大数据入门核心技术-Hive】(十九)Hive的UDF、UDTF、UDAF
*** 自定义 UDF 函数,UDTF全称为User-defined Table Generating Function,该模式的需要继承 GenericUDF 类* 需求: 计算指定字符串的长度*//*** @param arguments 输入参数类型的鉴别器对象* @return 返回值类型的鉴别器对象*/@Override// 判断输入参数的个数= 1) {!!");// 判断输入参数的类型if (!!!");//函数本身返回值为 int,需要返回 int 类型的鉴别器对象/*** 函数的逻辑处理。原创 2023-12-04 20:44:57 · 508 阅读 · 0 评论 -
【大数据入门核心技术-Doris】(六)数据导入
用于指定导入文件中的列分隔符,默认为\t。如果是不可见字符,则需要加\x作为前缀,使用十六进制来表示分隔符。如hive文件的分隔符\x01,需要指定为-H "column_separator:\x01"。-H “label:load_local_file_test” \ # 本次任务的唯一标识。http://主机名:端口号/api/库名/表名/_stream_load。用于指定导入文件中的换行符,默认为\n。可以使用多个字符的组合作为列分隔符。可以使用做多个字符的组合作为换行符。原创 2023-11-28 20:06:11 · 437 阅读 · 0 评论 -
【大数据入门核心技术-Doris】(五)分区和分桶
Doris 支持两层的数据划分。第一层是 Partition,支持 Range 和 List 的划分方式。第二层是 Bucket(Tablet),仅支持 Hash 的划分方式。也可以仅使用一层分区。使用一层分区时,只支持 Bucket 划分。原创 2023-11-27 20:23:00 · 536 阅读 · 0 评论 -
【大数据入门核心技术-Doris】(四)数据存储模型之Unique数据存储模型
因此,我们引入了 Unique 数据模型,该模型可以根据相同的Primary Key 来保留后插入的数据,确保数据的唯一,只要UNIQUE KEY 相同时,新记录覆盖旧记录。Unique数据模型有两种实现方式:读时合并(merge on read)和写时合并(merge on write),下面将对两种实现方式分别举例进行说明。可以看到user_id为4、username为ml的这条数据被最后插入的user_id为4、username为ml的数据替换。原创 2023-11-27 20:10:13 · 736 阅读 · 0 评论 -
【大数据入门核心技术-Doris】(三)Doris基本Shell和数据模型
参考。在某些多维分析场景下,用户更关注的是如何保证 Key 的唯一性,即如何获得 Primary Key 唯一性约束。因此,我们引入了 Unique 数据模型。在1.2版本之前,该模型本质上是聚合模型的一个特例,也是一种简化的表结构表示方式。由于聚合模型的实现方式是读时合并(merge on read),因此在一些聚合查询上性能不佳(参考后续章节聚合模型的局限性的描述),在1.2版本我们引入了Unique模型新的实现方式,写时合并(merge on write),通过在写入时做一些额外的工作,实现了最优的查原创 2023-11-27 19:59:01 · 1145 阅读 · 0 评论 -
【大数据入门核心技术-Hive】(十八)Hive的ACID事务支持
事务的四个属性: 1.原子性(Atomic)(Atomicity) 事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。通常,与某个事务关联的操作具有共同的目标,并且是相互依赖的。如果系统只执行这些操作的一个子集,则可能会破坏事务的总体目标。原子性消除了系统处理操作子集的可能性。2.一致性(Consistent)(Consistency) 事务在完成时,必须使所有的数据都保持一致状态。在相关数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。原创 2023-10-24 20:06:32 · 150 阅读 · 0 评论 -
【大数据入门核心技术-Iceberg】( 九)Iceberg与与 Flink DataStream 集成
1)上传hive connector到flink的lib中2)启动hive metastore服务3)创建hive catalog重启flink集群,重新进入sql-client>uri: Hive metastore的thrift uri。(必选)>clients:Hive metastore客户端池大小,默认为2。(可选)>warehouse: 数仓目录。原创 2023-10-18 20:38:49 · 83 阅读 · 0 评论 -
【大数据入门核心技术-Iceberg】(八)Iceberg与Flink基本Shell操作
1)上传hive connector到flink的lib中2)启动hive metastore服务3)创建hive catalog重启flink集群,重新进入sql-client>uri: Hive metastore的thrift uri。(必选)>clients:Hive metastore客户端池大小,默认为2。(可选)>warehouse: 数仓目录。原创 2023-10-18 16:59:27 · 107 阅读 · 0 评论 -
【大数据入门核心技术-Iceberg】(七)Iceberg与Flink整合
表示:会在本地启动3个TaskManager的 local集群。查看webui:http://hadoop101:8081。1)修改flink-conf.yaml配置。(3)启动Flink的sql-client。二、启动sql-client。(1)修改workers。2)cluster模式。(2)启动Flink。原创 2023-10-18 16:31:40 · 143 阅读 · 0 评论 -
【大数据入门核心技术-Hudi】(一)Hudi介绍
Hudi提供了表、事务、高效的upserts/delete、高级索引、流摄取服务、数据集群/压缩优化和并发,同时保持数据的开源文件格式。Hudi的高级性能优化,使分析工作负载更快的任何流行的查询引擎,包括Apache Spark、Flink、Presto、Trino、Hive等。2021 年:支持 Uber 500PB 数据湖,SQL DML、Flink 集成、索引、元服务器、缓存。2020 年:毕业成为 Apache 顶级项目,社区、下载量、采用率增长超过 10 倍。原创 2023-10-18 15:26:15 · 91 阅读 · 0 评论 -
【大数据入门核心技术-Iceberg】(六)Iceberg与Spark DataFrame操作
如果要自动清除元数据文件,在表属性中设置write.metadata.delete-after-commit.enabled=true。这将保留一些元数据文件(直到write.metadata.previous-versions-max),并在每个新创建的元数据文件之后删除旧的元数据文件。Spark中支持两种Catalog的设置:hive和hadoop,Hive Catalog就是Iceberg表存储使用Hive默认的数据路径,Hadoop Catalog需要指定Iceberg格式表存储路径。原创 2023-10-17 20:49:32 · 115 阅读 · 0 评论 -
【大数据入门核心技术-Iceberg】(五)Iceberg与Spark基本Shell操作
这将保留一些元数据文件(直到write.metadata.previous-versions-max),并在每个新创建的元数据文件之后删除旧的元数据文件。Spark中支持两种Catalog的设置:hive和hadoop,Hive Catalog就是Iceberg表存储使用Hive默认的数据路径,Hadoop Catalog需要指定Iceberg格式表存储路径。例如,如果按天划分分区,而改为按小时划分分区,那么覆盖将覆盖每小时划分的分区,而不再覆盖按天划分的分区。-- 在数组中的结构中添加一个字段。原创 2023-10-17 18:03:12 · 176 阅读 · 0 评论 -
【大数据入门核心技术-Iceberg】(四)Iceberg与Spark整合
如果要自动清除元数据文件,在表属性中设置write.metadata.delete-after-commit.enabled=true。这将保留一些元数据文件(直到write.metadata.previous-versions-max),并在每个新创建的元数据文件之后删除旧的元数据文件。Spark中支持两种Catalog的设置:hive和hadoop,Hive Catalog就是Iceberg表存储使用Hive默认的数据路径,Hadoop Catalog需要指定Iceberg格式表存储路径。原创 2023-10-17 17:58:04 · 317 阅读 · 0 评论 -
【大数据入门核心技术-Iceberg】(三)Iceberg与Hive基本Shell操作
这种情况下不能使用Iceberg的分区转换,例如:days(timestamp),如果想要使用Iceberg格式表的分区转换标识分区,需要使用Spark或者Flink引擎创建表。只支持HiveCatalog表修改表属性,Iceberg表属性和Hive表属性存储在HMS中是同步的。在HIVE 3.x中,INSERT OVERWRITE虽然能执行,但其实是追加。不会在HMS中创建分区,而是将分区数据转换为Iceberg标识分区。支持标准单表INSERT INTO操作。原创 2023-10-16 21:03:50 · 115 阅读 · 0 评论 -
【大数据入门核心技术-Iceberg】(二)Iceberg与Hive整合
重启hadoop 、yarn 、hiveserver2。2、修改hive-site.xml。Iceberg提供一个开放通用的表格式(Table Format)实现方案,不和特定的数据存储、计算引擎绑定。目前大数据领域的常见数据存储(HDFS、S3...),计算引擎(Flink、Spark...)都可以接入Iceberg。 在生产环境中,可选择不同的组件搭使用。甚至可以不通过计算引擎,直接读取存在文件系统上的数据.Iceberg提供一个开放通用的表格式(Table Format)实现方案,不和特原创 2023-10-16 20:20:57 · 206 阅读 · 0 评论 -
【大数据入门核心技术-Iceberg】(一)Iceberg介绍
每行中存储了Manifest file的路径、其存储的数据文件(data files)的分区范围,增加了几个数文件、删除了几个数据文件等信息,这些信息可以用来在查询时提供过滤,加快速度。数据文件是Apache Iceberg表真实存储的文件,一般是在表的数据存储目录的data目录下,如果我们的文件格式选择的是parquet,那么文件是以 ".parquet" 结尾,例如:xxxx.parquet 就是一个数据文件。不绑定任何底层存储,支持Parquet、ORC、Avro格式兼容行存储和列存储。原创 2023-10-16 19:46:20 · 292 阅读 · 0 评论 -
【大数据入门核心技术-Spark】(二十)Spark SQL数据抽象Spark SQL 与 Presto SQL 对比
在一个 Presto 查询中,用户可以组合来自多个数据源的数据并运行查询。Spark SQL 带有一个内置功能,可以使用 JDBC 连接其他数据库,即“JDBC 到其他数据库”,它有助于联邦功能。它是一个开源分布式 SQL 查询引擎,旨在针对各种规模的数据集运行交互式分析查询。Spark SQL 带有一个内置功能,可以使用 JDBC 连接其他数据库,即“JDBC 到其他数据库”,它有助于联邦功能。原创 2023-10-13 15:29:43 · 264 阅读 · 0 评论 -
【大数据入门核心技术-Hive】(十七)常用hive shell命令汇总
2、2、set -v 打印所有hadoop和hive配置变量。重置配置到默认hive-site.xml配置。执行linux shell命令。执行hdfs dfs 命令。二、常用实用hive语句。a、先插入初始化测试数据。a、先插入初始化测试数据。set -v 打印所有hadoop和hive配置变量。重置配置到默认hive-site.xml配置。执行linux shell命令。执行hdfs dfs 命令。二、常用实用hive语句。a、先插入初始化测试数据。a、先插入初始化测试数据。原创 2023-10-12 15:48:27 · 168 阅读 · 0 评论 -
【大数据入门核心技术-Iceberg】(二)Iceberg与Hive集成
2.3.83.1.2更多功能需要Hive 4.x(目前alpha版本)才能支持。原创 2023-10-09 17:31:34 · 129 阅读 · 0 评论 -
【大数据入门核心技术-Iceberg】(一)Iceberg介绍
manifest list是一个元数据文件,它列出构建表快照(Snapshot)的清单(Manifest file)。每行都是每个数据文件的详细描述,包括数据文件的状态、文件路径、分区信息、列级别的统计信息(比如每列的最大最小值、空值等)、文件的大小以及文件里面数据行数等信息。数据文件是Apache Iceberg表真实存储的文件,一般是在表的数据存储目录的data目录下,如果我们的文件格式选择的是parquet,那么文件是以 ".parquet" 结尾,例如:xxxx.parquet 就是一个数据文件。原创 2023-10-09 17:15:41 · 182 阅读 · 0 评论 -
【大数据入门核心技术-Clickhouse】(二)Clickhouse安装部署
ClickHouse可以在任何具有x86_64,AArch64或PowerPC64LE CPU架构的Linux,FreeBSD或Mac OS X上运行。推荐使用CentOS、RedHat和所有其他基于rpm的Linux发行版的官方预编译。二、RPM包方式部署。原创 2023-10-08 21:19:30 · 113 阅读 · 0 评论 -
【大数据入门核心技术-Clickhouse】(一)Clickhouse介绍
ClickHouse 是俄罗斯的 Yandex 于 2016 年开源的用于在线分析处理查询MPP架构的列式存储数据库(DBMS:Database Management System),能够使用 SQL 查询实时生成分析数据报告。ClickHouse的全称是Click Stream,Data WareHouse。clickhouse可以做用户行为分析,流批一体线性扩展和可靠性保障能够原生支持 shard + replication。原创 2023-10-08 21:16:40 · 107 阅读 · 0 评论 -
【大数据入门核心技术-Trino】(二)Trino安装部署
在 exec "$(dirname "$0")/launcher.py" "$@" 上面添加 PATH=/usr/local/java/jdk-17.0.6/bin/:$PATH。同时复制hadoop下的core-site.xml和hdfs-site.xml到etc目录。# 注:discovery.uri 都和 coordinator 一样。可取值:DEBUG, INFO, WARN, ERROR。2、配置 Trino jvm.config。5、配置连接mysql。4、配置连接hive。原创 2023-09-28 17:29:24 · 241 阅读 · 0 评论 -
【大数据入门核心技术-Trino】(一)Trino简介
Trino是通过分布式查询,高效处理大量数据的工具。要处理TB或PB级别的数据,一般是使用能够与Hadoop和HDFS进行交互的工具。Trino的设计目标就是取代这些工具,如Hive或Pig,但是除了访问HDFS。Trino也可以操作其他数据源,包括传统关系数据库和其他数据源,如Cassandra。Trino旨在处理数据仓库和分析工作:数据分析、聚合大量数据并生成报告。这些工作负载通常被归类为在线分析处理(OLAP)。原创 2023-09-28 17:24:30 · 1069 阅读 · 0 评论 -
【大数据入门核心技术-Druid】(一)Druid简介
Apache Druid 是一个分布式的、支持实时多维 OLAP 分析的数据处理系统,用于解决如何在大规模数据集下进行快速的、交互式的查询和分析的问题。Apache Druid 具有以下特点:亚秒响应的交互式查询,支持较高;包括多维过滤、Ad-hoc 的属性分组、快速聚合数据等。支持高并发、实时数据摄入,真正做到数据摄入实时、查询结果实时。扩展性强,采用分布式 shared-nothing 的架构,支持 PB 级数据、千亿级事件快速处理,支持每秒数千查询并发。支持多租户同时在线查询。支持原创 2023-09-27 21:11:35 · 224 阅读 · 0 评论 -
【大数据入门核心技术-Kudu】(三)Kudu基本Shell命令行
【代码】【大数据入门核心技术-Kudu】(三)基本Shell命令行。高效处理类 OLAP 负载与 MapReduce、Spark 以及 Hadoop 生态系统中其他组件进行友好集成。可与 Impala 集成,替代目前 Impala 常用的 HDFS + Parquet 组合。 灵活的一致性模型顺序写和随机写并存的场景下,仍能达到良好的性能。高可用,使用 Raft 协议保证数据高可靠存储。结构化数据模型。原创 2023-09-27 20:46:46 · 362 阅读 · 0 评论 -
【大数据入门核心技术-Kudu】(二)Kudu安装部署
Apache Kudu 是一个分布式,可水平扩展的列式存储系统,它完善了 Hadoop 的存储层,可对快速变化数据进行快速分析。Apache Kudu 是一个分布式,可水平扩展的列式存储系统,它完善了 Hadoop 的存储层,可对快速变化数据进行快速分析。高效处理类 OLAP 负载。与 MapReduce、Spark 以及 Hadoop 生态系统中其他组件进行友好集成。可与 Impala 集成,替代目前 Impala 常用的 HDFS + Parquet 组合。灵活的一致性模型。顺序写和随机写并存的场景下原创 2023-09-27 20:49:22 · 128 阅读 · 0 评论 -
【大数据入门核心技术-Kudu】(一)Kudu简介
Apache Kudu 是一个分布式,可水平扩展的列式存储系统,它完善了 Hadoop 的存储层,可对快速变化数据进行快速分析。高效处理类 OLAP 负载。与 MapReduce、Spark 以及 Hadoop 生态系统中其他组件进行友好集成。可与 Impala 集成,替代目前 Impala 常用的 HDFS + Parquet 组合。灵活的一致性模型。顺序写和随机写并存的场景下,仍能达到良好的性能。高可用,使用 Raft 协议保证数据高可靠存储。结构化数据模型。原创 2023-09-27 20:19:42 · 141 阅读 · 0 评论 -
【大数据入门核心技术-Doris】(三)Doris基础使用
label:Label 的主要作用是唯一标识一个导入任务,并且能够保证相同的 Label 仅会被成功导入一次,具体可以查看 数据导入事务及原子性。上述表通过设置 replication_num 建的都是单副本的表,Doris建议用户采用默认的 3 副本设置,以保证高可用。示例1:以 "table1_20170707" 为 Label,使用本地文件 table1_data 导入 table1 表。可以使用任一 BE 的 IP,以及 be.conf 中的 webserver_port 进行导入。原创 2023-09-27 15:44:48 · 339 阅读 · 0 评论 -
【大数据入门核心技术-Doris】(二)Doris安装部署
生产环境建议 FE 和 BE 分开。Linux 操作系统版本需求。Apache Doris是一个现代化的MPP分析型数据库产品。仅需亚秒级响应时间即可获得查询结果,有效地支持实时数据分析。Apache Doris的分布式架构非常简洁,易于运维,并且可以支持10PB以上的超大数据集Apache Doris可以满足多种数据分析需求,例如固定历史报表,实时数据分析,交互式数据分析和探索式数据分析等。令您的数据分析工作更加简单高效。原创 2023-09-22 19:58:52 · 236 阅读 · 0 评论 -
【大数据入门核心技术-Doris】(一)Doris简介
Apache Doris是一个现代化的MPP分析型数据库产品。仅需亚秒级响应时间即可获得查询结果,有效地支持实时数据分析。Apache Doris的分布式架构非常简洁,易于运维,并且可以支持10PB以上的超大数据集Apache Doris可以满足多种数据分析需求,例如固定历史报表,实时数据分析,交互式数据分析和探索式数据分析等。令您的数据分析工作更加简单高效。原创 2023-09-22 19:51:21 · 228 阅读 · 0 评论 -
【大数据入门核心技术-Flink】(八)Flink读取数据的6种方式(集合、文件、Kafka、MySQL、Socket、自定义数据源)-Scala版本
pom.xml文件.2、核心java代码。Flink支持多种安装模式- Local—本地单机模式,学习测试时使用- Standalone—独立集群模式,Flink自带集群,开发测试环境使用- StandaloneHA—独立集群高可用模式,Flink自带集群,开发测试环境使用- Flink On Yarn—计算资源统一由Hadoop YARN管理,生产环境使用本文主要演示Flink On Yarn模式的安装部署。原创 2023-09-20 21:47:36 · 185 阅读 · 0 评论 -
【大数据入门核心技术-Flink】(七)Flink读取数据的6种方式(集合、文件、Kafka、MySQL、Socket、自定义数据源)-Java版本
pom.xml文件.2、核心java代码。Flink支持多种安装模式- Local—本地单机模式,学习测试时使用- Standalone—独立集群模式,Flink自带集群,开发测试环境使用- StandaloneHA—独立集群高可用模式,Flink自带集群,开发测试环境使用- Flink On Yarn—计算资源统一由Hadoop YARN管理,生产环境使用本文主要演示Flink On Yarn模式的安装部署。原创 2023-09-20 21:20:55 · 188 阅读 · 0 评论 -
【大数据入门核心技术-Flink】(七)Flink实现从Socket读取数据并WordCount
1、使用nc创建socket。2、java版本代码。2、核心java代码。Flink支持多种安装模式- Local—本地单机模式,学习测试时使用- Standalone—独立集群模式,Flink自带集群,开发测试环境使用- StandaloneHA—独立集群高可用模式,Flink自带集群,开发测试环境使用- Flink On Yarn—计算资源统一由Hadoop YARN管理,生产环境使用本文主要演示Flink On Yarn模式的安装部署。原创 2023-09-17 19:21:19 · 221 阅读 · 0 评论 -
【大数据入门核心技术-Flink】(六)Flink版本WordCount-Scala版本
2、核心java代码。Flink支持多种安装模式- Local—本地单机模式,学习测试时使用- Standalone—独立集群模式,Flink自带集群,开发测试环境使用- StandaloneHA—独立集群高可用模式,Flink自带集群,开发测试环境使用- Flink On Yarn—计算资源统一由Hadoop YARN管理,生产环境使用本文主要演示Flink On Yarn模式的安装部署。原创 2023-09-15 17:08:40 · 139 阅读 · 0 评论