自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 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 23:28:20 233

原创 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 23:27:37 1133

原创 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 23:27:01 352

原创 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 23:26:12 765

原创 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 23:25:36 661

原创 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 23:24:35 624

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

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

2025-06-09 23:23:26 345

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

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

2025-06-09 23:22:09 824

原创 课堂的笔记

df.sort(df.age,df .score ,ascending=[1,0]).show() #1=True: 升序,0=False:降序 df.sort(df.age.asc(),df.score.desc()).show() #desc:降序,asc:升序。df.groupBy( 'gender' ).agg({'age ' : 'mean' ,'score' : 'max'}) .show() #agg()聚合操作,aggregate。

2025-06-09 23:21:00 267

原创 MySQL

注意:MySQL 8.0默认使用auth_socket插件认证,需修改为mysql_native_password才能通过密码登录。sudo systemctl status mysql # 查看服务状态。USE people;show(n=20) 显示前n行数据。

2025-06-09 23:20:07 934

原创 spark大数据环境搭建

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

2025-06-09 23:19:06 685

原创 Spark数据处理实例

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

2025-06-09 23:05:06 327

原创 基本 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 23:03:01 197

原创 RDD转换行动操作

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

2025-06-09 23:00:41 265

原创 RDD的创建和转换

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

2025-06-09 22:54:27 311 1

空空如也

空空如也

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

TA关注的人

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