Pyspark处理数据中带有列分隔符的数据集
发表于:2024-11-30 作者:千家信息网编辑
千家信息网最后更新 2024年11月30日,本篇文章为大家展示了Pyspark处理数据中带有列分隔符的数据集,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。下面主要内容是处理在数据集中存在列分隔符或分隔符
千家信息网最后更新 2024年11月30日Pyspark处理数据中带有列分隔符的数据集
本篇文章为大家展示了Pyspark处理数据中带有列分隔符的数据集,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
下面主要内容是处理在数据集中存在列分隔符或分隔符的特殊场景。对于Pyspark开发人员来说,处理这种类型的数据集有时是一件令人头疼的事情,但无论如何都必须处理它。
数据集基本上如下所示:
#first line is the headerNAME|AGE|DEP
Vivek|Chaudhary|32|BSC
John|Morgan|30|BE
Ashwin|Rao|30|BE
数据集包含三个列" Name ", " AGE ", " DEP ",用分隔符" | "分隔。如果我们关注数据集,它也包含' | '列名。
让我们看看如何进行下一步:
步骤1。使用spark的Read .csv()方法读取数据集:
#create spark session
import pyspark
from pyspark.sql import SparkSession
spark=SparkSession.builder.appName('delimit').getOrCreate()
上面的命令帮助我们连接到spark环境,并让我们使用spark.read.csv()读取数据集
#create
df=spark.read.option('delimiter','|').csv(r'/delimit_data.txt',inferSchema=True,header=True)
df.show()
从文件中读取数据并将数据放入内存后我们发现,最后一列数据在哪里,列年龄必须有一个整数数据类型,但是我们看到了一些其他的东西。这不是我们所期望的。一团糟,完全不匹配,不是吗?答案是肯定的,确实一团糟。
现在,让我们来学习如何解决这个问题。
步骤2。再次读取数据,但这次使用Read .text()方法:
df=spark.read.text(r'/Python_Pyspark_Corp_Training/delimit_data.txt')
df.show(truncate=0)
#extract first row as this is our header
head=df.first()[0]
schema=['fname','lname','age','dep']
print(schema)
Output: ['fname', 'lname', 'age', 'dep']
下一步是根据列分隔符对数据集进行分割:
#filter the header, separate the columns and apply the schema
df_new=df.filter(df['value']!=head).rdd.map(lambda x:x[0].split('|')).toDF(schema)
df_new.show()
现在,我们已经成功分离出列。
我们已经成功地将"|"分隔的列("name")数据分成两列。现在,数据更加干净,可以轻松地使用。
接下来,连接列"fname"和"lname":
from pyspark.sql.functions import concat, col, lit
df1=df_new.withColumn('fullname',concat(col('fname'),lit("|"),col('lname')))
df1.show()
要验证数据转换,我们将把转换后的数据集写入CSV文件,然后使用read. CSV()方法读取它。
df1.write.option('sep','|').mode('overwrite').option('header','true').csv(r'\cust_sep.csv')
下一步是数据验证:
df=spark.read.option('delimiter','|').csv(r,inferSchema=True,header=True)
df.show()
现在的数据看起来像我们想要的那样。
上述内容就是Pyspark处理数据中带有列分隔符的数据集,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。
数据
分隔符
处理
内容
方法
中带
成功
一团糟
技能
文件
步骤
知识
类型
验证
头疼
干净
特殊
简明
接下来
无论如何
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
氧化物生存岛如何创建服务器
网络安全精英赛可以提供就业吗
苏州web前端软件开发哪家便宜
网络技术的形象化
接收邮箱服务器pop
ca证书服务器功能
经营范围网络技术推广
非肿瘤生信分析常用数据库
软件开发人员的资质证书
战地2可用服务器
引航互联网科技有限公司
小学生网络安全课视频
2年级网络安全手抄报简单又好看
保密网络安全56条
局域网怎么改为服务器
十大互联网科技公司排名
浙江网络安全通报中心
阿尔法数据库实验室
如何在我的世界生存服务器里加mod
达梦数据库招股书
网络技术与信息管理
领族网网络技术有限公司
桔子网络技术钉钉视频
access数据库查询不可
软件开发项目管理岗面试技巧
南安网站建设软件开发
网络技术保障措施情况
软件开发论坛电脑版
崖州湾科技城国际互联网
中国软件开发大学