自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 CentOS7 + JDK8 虚拟机安装与 Hadoop + Spark 集群搭建实践

本文将详细介绍如何在 CentOS7 + JDK8 的虚拟机环境中搭建 Hadoop + Spark 分布式集群,包括 Spark Standalone 和 Hadoop + Spark on YARN 两种模式,并提供具体的代码示例。将 Hadoop 和 Spark 的安装包(如 hadoop-2.6.5.tar.gz 和 spark-2.4.8-bin-withouthadoop.tgz)上传到 vm01 虚拟机的 /root 目录下。

2025-06-10 12:56:48 1014

原创 Spark和Kafka的实时通话计费系统样例笔记

数据生成程序 | -> | Kafka消息队列 | -> | Spark Streaming | -> | HDFS |minutes = sec//60 if sec%60==0 else sec//60+1 # 计算通话分钟数。ym = '%d%02d' % (d1.year, d1.month) # 年月。模拟通话记录数据(主叫、被叫、拨打时间、接通时间、挂断时间)使用Spark Streaming从Kafka消费数据。2. Spark Streaming消费Kafka数据。

2025-06-09 22:20:36 328

原创 Spark大数据分析与可视化实战案例

withColumn('cust_province', regexp_replace('cust_province','自治区|维吾尔|回族|壮族|省|市','')) \。.withColumn("od_quantity", regexp_replace('od_quantity','个','')) \。.withColumn("od_price", regexp_replace('od_price','元','')) \。yaxis_opts=opts.AxisOpts(name="金额(亿元)"),

2025-06-09 22:19:50 473

原创 Spark大数据处理核心知识点总结

创建方式:SparkSession.builder.appName('name').getOrCreate()排名:rank(), dense_rank(), row_number()groupBy() + 聚合函数(sum, avg, count等)first_value()/last_value():窗口首尾值。公式:(rank - 1) / (total_rows - 1)提取日期组件:year(), month(), day()等。分布:percent_rank(), cume_dist()

2025-06-09 22:19:05 271

原创 Spark离线数据处理知识点总结

F.col("人数")/F.lag("人数").over(Window.orderBy("行为序列"))))(df.groupBy(F.date_format("订单日期", "yyyy-MM").alias("月份"))F.when((F.col("R") < 30) & (F.col("F") > 5), "高价值")df['数量'] = df['数量'].str.extract('(\d+)').astype(int).agg(F.count("*").alias("人数"))

2025-06-09 22:17:54 720

原创 PySpark环境搭建与Spark伪分布式集群部署指南

通过修改主机名、配置Spark环境文件和启动相关服务,我们成功搭建了一个Spark伪分布式集群,并验证了Local、Standalone和YARN三种部署模式。对于学习和测试,Local模式最为简单;>>> sc = SparkContext('local[2]','pyspark lib') # 如果sc创建错误,输入sc.stop()>>> rdd.collect() # 或使用 rdd.foreach(print)>>> print(datas) # 输出: [1, 2, 3, 4, 5]

2025-06-09 22:16:49 670

原创 Kafka安装测试及与Spark Streaming集成指南

ssc = StreamingContext(sc, 1) # 1秒的批处理间隔。- 确认Zookeeper(2181)和Kafka(9092)端口未被占用。- Broker:Kafka集群中的每个节点称为一个broker(经纪人)- Partition:每个topic可分为多个分区,对应磁盘上的日志文件。- 使用`sudo netstat -tuln`检查端口。- Offset:消息在分区文件中的位置标识,保证消息顺序性。- Topic:消息分类,同一类消息存储在同一topic中。

2025-06-09 22:16:02 522

原创 使用PySpark Streaming实现实时单词计数:从搭建到运行

本文将带你一步步实现一个基于PySpark Streaming的实时单词计数应用。这个应用能够监听网络端口,实时统计输入文本中的单词出现频率。这个基础框架可以扩展为更复杂的实时处理应用,如实时日志分析、实时推荐系统等。日志信息过多:可以通过sc.setLogLevel("WARN")设置日志级别,只显示警告及以上级别的日志。netcat命令错误:注意正确的命令是nc -lk 9999,不是nc -link 9999。创建StreamingContext,设置批处理间隔为3秒。使用pprint()打印结果。

2025-06-09 22:15:13 143

原创 PySpark SQL 实战:从基础查询到数据分析案例

PySpark SQL 是 Apache Spark 提供的用于结构化数据处理的模块,它提供了一个名为 SparkSession 的编程抽象,可以执行 SQL 查询并返回 DataFrame 结果。通过本文,我们系统地学习了PySpark SQL的各种查询操作,从基础查询到高级分析,并通过两个实际案例展示了PySpark SQL在数据分析中的应用。# 查询日期在2022-05-10到2022-05-15之间的访问记录。# 查询name为'Google'或'菜鸟教程'的记录。

2025-06-09 22:13:05 994

原创 课堂的笔记

三、基于DSL的DataFrame的数据操作(DSL:Domain Spcific Language,领域特定的语言,类似RDD算子)1、数据查询:(1)筛选:where()/filter()df1 = df.where('age>=10')df2= df.where('age>=12 and score>80') df.where( 'age>=12 and score>80').show()df.where( (df.age>12) & (df.score>80)).show() df.where(df

2025-06-09 22:11:33 335

原创 MySQL

一、MySQL安装与配置详解1. Linux环境安装MySQL# 更新软件源并安装sudo apt updatesudo apt -y install mysql-server# 服务管理命令sudo systemctl start mysql # 启动服务sudo systemctl enable mysql # 设置开机自启sudo systemctl status mysql # 查看服务状态2. 配置root用户访问-- 登录MySQL控制台

2025-06-09 22:09:34 801

原创 spark大数据环境搭建

它提供了高效的数据处理能力,可以在大规模数据集上进行快速计算和分析。在 MobaXterm 窗体左上角找到 Session 图标,点击后会打开一个连接会话设置窗体,这 个窗体列出了 MobaXterm 支持的各种远程连接类型,点击选择其中的第一项 SSH 图标,输入 虚拟机的 IP 地址,然后指定登录所用的帐号 spark,再点击 OK 即可,如图所示。(2.6)在指定磁盘容量的窗体中,设定虚拟机使用的最大磁盘大小为 60GB,虚拟机文件尺寸是在使用过程中按需增长的,最大限制为 60GB。

2025-06-09 22:06:01 681

原创 Spark数据处理实例

这个文件的数据是非结构化的,每行的单词个数是不固定的,也没有具体的含义。为了使用Spark SQL来处理它,第1步工作就是要将这个文件的数据转换成结构化的形式,由于我们真正关注的是各个单词,因此可以像以往那样将文件数据转换为RDD,然后经过一定的处理后将其转变为DataFrame,这样就可以由SparkSQL来处理。(2)统计男性身高超过170cm以及女性身高超过165cm的总人数第1个问题,即按照要求的条件统计人数,这需要用到SQL的count()统计函数。(4)统计男性的平均身高。

2025-06-09 21:52:29 371

原创 基本 TopN 问题与RDD 问题实践

问题:有一个元组 (1,2,3,4,5),请使用 Spark 的 map() 将其转换为一系列元组的集合:(0,1,1), (0,4,2), (0,9,3), (0,16,4), (0,25,5)。问题:使用 mydata 目录中的 a.txt 文件,将其转换为一个由数字为元素构成的 RDD,转换规则为:若文件中的行内容是一个偶数则除以 2,奇数则不变。问题:将 mydata 目录中的 b.txt文件中的所有“长度超过 12”的单词挑选出来,并将其转换为大写形式,然后显示其中的前 5 个单词。

2025-06-09 21:49:28 205

原创 RDD转换行动操作

2)这几个方法的调用分别是rdd数据集的最大、最小、和、平均值,它们都是数值类型。2)collect()返回的是一个List类型的数组。mapValues和flatMapValues操作。2)count()返回的是RDD数据集的元素个数。

2025-06-09 21:46:11 370

原创 RDD的创建和转换

RDD(Resilient Distributed Dataset)是Spark中最基本的数据结构,代表分布式的不可变的数据集。RDD可以在集群中进行并行计算,并且具有容错性,即当由于节点故障而导致数据丢失时,可以通过RDD的血统信息重新计算出丢失的数据。错误日志中显示的关键信息是:TypeError: must be str, not int 这表在代码中尝试将字符串和整数相加,而 Python 不允许这种操作。2)在其中输入下面第一行的代码后,可以查看 RDD 类包含的功能方法。

2025-06-09 21:39:31 424 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除