Pyspark处理数据中带有列分隔符的数据集
发表于:2025-02-22 作者:千家信息网编辑
千家信息网最后更新 2025年02月22日,本篇文章为大家展示了Pyspark处理数据中带有列分隔符的数据集,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。下面主要内容是处理在数据集中存在列分隔符或分隔符
千家信息网最后更新 2025年02月22日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安全错误
数据库的锁怎样保障安全
haproxy隐藏服务器地址
对数据库有研究的科学家
网络技术负面
网络技术与服务专业工科还是文科
网络技术服务范畴
数据库any用法
猎人919人软件开发
华为云 云服务器密码修改
pi实时数据库压缩算法
达梦数据库有限公司主要业务
数据库的sql的中文
游戏服务器cpu排行榜
软件开发主管嫌你做事慢
方舟生存的数据库在哪里
机关人员网络安全
本凡网络技术有限公司怎么样
网络安全与执法专业 规划
广东海阔方舟网络技术
徐州app软件开发一般多少钱
柘城软件开发项目管理
做实施需要掌握什么数据库
pg数据库如何格式转换
慢性肾脏病数据库
耀悦网络技术
数据库中如何将裂变为行显示
宁陵天气预报软件开发
神经网络技术的发展的成功
计算机网络技术是学哪些东西
苏州互联网led大屏服务器
光遇怎么去原来的服务器