Pyspark处理数据中带有列分隔符的数据集
发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,本篇文章为大家展示了Pyspark处理数据中带有列分隔符的数据集,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。下面主要内容是处理在数据集中存在列分隔符或分隔符
千家信息网最后更新 2024年11月11日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安全错误
数据库的锁怎样保障安全
软件开发工具的折旧年限
服务器包含无效的ssl证书
维护网络安全 要抓住
俄乌战争中的网络安全问题
网络安全法紧急断网
重庆科技频道网络安全
常州南京服务器供应商家
电脑服务器后台可以看聊天记录吗
山西合为互联网科技有限公司
凯胜宏网络技术
可以看引文的数据库
网络技术服务类公司
日企软件开发面试项目介绍
怎么做数据库信息安全
服务器不支持中文
哪些能成为数据库中的主键
用自己的服务器ipv6
软件开发工具的结构
新洲哪里有软件开发方案
在软件开发过程中编程的代价最高
数据库工资管理系统报表怎么写
计算机网络技术基础知识视频
银行的软件开发中心好进吗
正规网络安全方案收费
2021年网络安全新闻
怎样启用access数据库
校园网络安全排查总结报告
软件开发负责人工资如何考核
新能源网络技术专业服务
数据库标识怎么改