![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Hadoop生态
文章平均质量分 87
Hadoop生态
大数据程序终结者
我先说好,我发的需求案例都是经过我测试的,具有普遍代表性的案例,如果有问题请检查环境配置。
展开
-
JanusGraph图数据库的应用以及知识图谱技术介绍
JanusGraph介绍JanusGraph 是一个开源的、分布式的、基于属性图的数据库,由 Apache TinkerPop 社区开发。它支持 Apache Cassandra 和 Apache HBase 作为存储后端,并提供原生支持 Gremlin 图遍历语言。JanusGraph 的主要优势支持非常大的图。JanusGraph 图可以随着集群中机器的数量而扩展。支持非常多的并发事务和操作性图处理。JanusGraph 的事务容量随着集群中机器的数量而扩展,并能够在毫秒内回答复杂的遍历查询。原创 2024-01-22 19:13:26 · 1554 阅读 · 0 评论 -
基于华为MRS3.2.0实时Flink消费Kafka落盘至HDFS的Hive外部表的调度方案
该需求为实时接收对手Topic,并进行消费落盘至Hive。在具体的实施中,基于华为MRS 3.2.0安全模式带kerberos认证的Kafka2.4、Flink1.15、Hadoop3.3.1、Hive3.1,调度平台为开源dolphinscheduler。本需求的完成全部参考华为官方MRS3.2.0开发文档,相关章节是普通版的安全模式。原创 2024-01-17 18:32:20 · 1500 阅读 · 0 评论 -
接收Kafka数据并消费至Hive表
将Kafka中的数据消费到Hive可以通过以下简单而稳定的步骤来实现。这里假设的数据是以字符串格式存储在Kafka中的。创建Hive表:编写Kafka消费者脚本:Hive JDBC客户端:运行消费者脚本:这是一个基本的、简单的方式来实现从Kafka到Hive的数据流。这里的示例假设数据是以逗号分隔的字符串,实际上,需要根据数据格式进行相应的解析。这是一个简化的示例,真实场景中可能需要更多的配置和优化。确保环境中有Hive和Kafka,并根据实际情况调整配置。使用Flink处理Kafka数据原创 2023-12-31 22:50:01 · 3506 阅读 · 3 评论 -
Hbase2.5.5分布式部署安装记录
从官网下载二进制安装包,上传至linux,安装并分发三台集群,用作大数据测试实验,前置的Hadoop以及jdk安装将省略。安装前请确保三台集群节点已经配置免密登录,域名映射,以及关闭防火墙。至此,完成Hbase的分布式部署安装及测试。原创 2023-12-11 22:39:19 · 828 阅读 · 0 评论 -
Spark集群中一个Worker启动失败的排错记录
集群下电停机后再次启动时,发现其中一台节点的worker启动失败。原创 2023-10-24 19:14:49 · 962 阅读 · 1 评论 -
Hive跨集群数据迁移过程
本次迁移数据100G,15亿条,数据流转方向从集群A经过跳转机到集群B,通过HDFS拉取和重新建表导入的方式完成数据库迁移。原创 2023-10-18 22:05:54 · 805 阅读 · 0 评论 -
使用Python创建faker实例生成csv大数据测试文件并导入Hive数仓
解决思路是通过将整表的数据查询出,插入到另一个新表中,而后删除旧的表,该方法如果在生产环境中使用应考虑机器性能和存储情况。本案例由于使用python生成文件,只有第一个csv文件有列名,其余csv没有列名,我们稍后单独处理这一个首行。这段代码使用Faker库生成模拟的个人信息数据,每个CSV文件包含一定数量的行数据,数据字段包括。这段Python代码用于生成模拟的个人信息数据,并将数据保存为CSV文件。在每个文件中,生成随机的个人信息数据,并将其写入CSV文件。所有数据生成后,打印生成的总行数。原创 2023-10-15 18:29:26 · 905 阅读 · 0 评论 -
Hadoop-2.5.2平台环境搭建遇到的问题
这两天我配置了mysql和hive,本文记录遇到的问题。原创 2023-10-09 22:34:44 · 932 阅读 · 0 评论 -
Hive中Join优化的几种算法
该算法适用于大表关联小表,第一个 Map Job 启动本地任务读取小表中的数据,首先将其制作为 Hash Table,再将其上传到分布式缓存(HDFS)中,第二个 Map Job 将小表读取至内存,并且扫描大表,在 Map Job 中完成两表的关联,因此可以不走 Reduce。Bucket Map Join 的条件是要求参与 Join 的表都是分桶表,关联 key 为分桶字段,且其中一张表的分桶数量是另一张表分桶数量的整数倍,这是为了保证每个分桶都有对应的关联桶,避免奇数桶找不到对应关系。原创 2023-09-08 16:40:54 · 569 阅读 · 0 评论 -
Spark 为什么比 MapReduce 快100倍?
通常我们认为 Spark 引擎是基于内存进行计算,无论如何,速度都是比 MapReduce 快,因为 MapReduce 需要频繁 Shuffle。在 Spark 的官网早期介绍中,也有过一张 Spark 比 Hadoop 计算速度快100倍的宣传,虽然它似乎违反了我们的广告法。本文不讨论技术源码,从内存计算、数据共享、任务调度优化多种角度,总结 Spark 快的真因。原创 2023-08-19 17:17:07 · 413 阅读 · 0 评论 -
CDH6.3应知应会
Cloudera Manager是一个拥有集群自动化安装、中心化管理、集群监控、报警功能的一个工具,使得安装集群从几天的时间缩短在几个小时内,运维人员从数十人降低到几人以内,极大的提高集群管理的效率。CDH 是 Cloudera 提供的一套基于 Hadoop 生态的大数据解决方案。它包括 Hadoop 生态的核心组件,如 HDFS、YARN、Hive、HBase 等,并提供了集成的管理、监控、安全性等功能,使大数据平台的构建和管理更加便捷。原创 2023-08-13 15:59:03 · 656 阅读 · 0 评论 -
Parquet存储的数据模型以及文件格式
本文主要参考文献:Tom White. Hadoop权威指南. 第4版. 清华大学出版社, 2017.pages 363.Aapche Parquet是一种能有效存储嵌套数据的列式存储格式,在Spark中应用较多。列式存储格式在文件大小和查询性能上表现优秀,在列式存储格式下,同一列的数据连续保存。一般来说,这种做法可以允许更高效的编码方式,从而使列式存储格式的文件常常比行式存储格式的同等文件占用更少的空间。原创 2023-08-06 17:41:13 · 844 阅读 · 0 评论 -
【Spark数仓项目】需求六:构建设备会话维表
session_start_time(会话开始时间): 一个设备在一次会话中最小的时间戳session_end_time (会话结束时间):一个设备在一次会话中最大的时间戳page_count (会话访问页数): 访问页面事件中获取properties里面url页面,然后去重的结果enter_page (入口页): 一次会话中第一次产生访问页面事件对应的url,就是入口页leave_page (退出页): 一次会话中最后一次产生访问页面事件对应的url,就是退出页。原创 2023-07-04 20:41:40 · 138 阅读 · 0 评论 -
【Spark数仓项目】需求一:项目用户数据生成-ODS层导入-DWD层初步构建
本项目使用一台虚拟机,主机名Hadoop10,CentOS7系统。虚拟机服务器jdk选用1.8,包括完整生态的hadoop spark;本地主机为win11,scala2.12.17,在idea集成环境中编写。原创 2023-06-26 20:46:47 · 842 阅读 · 0 评论 -
【基于Flink的城市交通实时监控平台】需求四:车辆违法路径跟踪-使用FlinkSQL在Dlink写入HBase
通过Kafka发送模拟实时车辆JSON信息给Flink接收,FlinkSQL将实时车辆JSON信息与表中已经捕捉到的违规违章车辆做连接对比,选择出通过当前路段的违章记录车辆,将其存入HBase中。本次需求四案例,将基于当前模拟了两辆车在表中,稍后启动Kafka Topic-car时,只有在该表中的车,会被记录到HBase。原创 2023-06-23 18:50:51 · 416 阅读 · 0 评论 -
Linux大数据Hadoop生态组件常用命令速查手册
Spark3.2.0jdk1.8Sqoop1.4.6MySQL5.7Hive3.1.2Kafka0.11Flume1.9.0Hbase2.4Redis6.2.0Dlink0.7.3Hadoop11,12,13集群文章中没有明确说明关闭命令的皆使用kill的方式关闭应用或服务。原创 2023-06-23 17:55:26 · 287 阅读 · 0 评论 -
Spark算子官方文档整理收录大全持续更新【Update2023/6/24】
本文基于Spark 3.2.0 Scala的RDD API,内容来源主要由官方文档整理,文中所整理算子为常用收录,并不完全。在Spark RDD官方文档中按照转换算子(Transformation )和行动算子(Actions)进行分类,在RDD.scala文档中按照RDD的内部构造进行分类。RDD算子分类方式并不是绝对的,有些算子可能具有多种分类的特征,本文综合两种分类方式便于阅读理解。文中所描述的基本概念来自于官方文档的谷歌翻译和ChatGPT3.5优化,少量来自本人直接翻译。原创 2023-06-22 13:35:54 · 393 阅读 · 0 评论 -
MapReduce-WorldCount编程思路
split阶段将文件逻辑拆分,为了分布式计算做准备,每一个MapTask生成一个临时文件,多个临时文件会进行合并,用来传递给ReduceTask,然后ReduceTask对临时文件进行计算。此时会经历一个网络传输,Map阶段最后生成的临时文件会在这里合并,合并临时文件是将上面进行分组和聚合,生成一个新文件;reduce输入 k-v :人名-[1,1,1,1,1,1,…reduce输出 k-v:人名-sum or count。maptask输出 k-v 代表 人名-1。Reduce:汇总计算。原创 2023-06-19 15:03:11 · 104 阅读 · 0 评论 -
基于大数据框架的协同过滤算法餐饮推荐系统【Update2023-11-05】
一、数据采集清洗1.1 爬虫采集import requestsfrom bs4 import BeautifulSouphead = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36',}# 目标保存文件file = open('./cai.txt', 'w+')#原创 2023-06-14 13:11:53 · 2061 阅读 · 2 评论