- 博客(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关注的人
RSS订阅