加入收藏 | 设为首页 | 会员中心 | 我要投稿 阿坝站长网 (https://www.0837zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Spark 3.0— 言简意赅的新功能

发布时间:2021-06-04 20:44:36 所属栏目:大数据 来源:互联网
导读:最近,Apache Spark社区发布了Spark 3.0的预览版,该预览版包含许多重要的新功能,这些功能将帮助Spark创造强大的影响力,在此大数据和数据科学时代,该产品已拥有广泛的企业用户和开发人员。 在新版本中,Spark社区已将一些功能从Spark SQL移植到了编程的Sc
最近,Apache Spark社区发布了Spark 3.0的预览版,该预览版包含许多重要的新功能,这些功能将帮助Spark创造强大的影响力,在此大数据和数据科学时代,该产品已拥有广泛的企业用户和开发人员。
在新版本中,Spark社区已将一些功能从Spark SQL移植到了编程的Scala API(
org.apache.spark.sql.functions),这鼓励开发人员直接将此功能用作其DataFrame转换的一部分,而不是直接输入 进入SQL模式或创建视图,并使用此函数以及SQL表达式或callUDF函数。
社区还辛苦地引入了一些新的数据转换功能和partition_transforms函数,这些功能在与Spark的新DataFrameWriterv2一起使用以将数据写到某些外部存储时非常有用。
Spark 3中的一些新功能已经是Databricks Spark以前版本的一部分。 因此,如果您在Databricks云中工作,您可能会发现其中一些熟悉的功能。
本文通篇介绍了Spark SQL和Scala API中用于DataFrame操作访问的Spark新功能,以及从Spark SQL移植到Scala API以进行编程访问的功能。
Spark SQL中的Spark 3.0中引入的功能以及用于DataFrame转换的功能
from_csv
像from_json一样,此函数解析包含CSV字符串的列,并将其转换为Struct类型。 如果CSV字符串不可解析,则将返回null。
例:
该函数需要一个Struct模式和一些选项,这些模式和选项指示如何解析CSV字符串。 选项与CSV数据源相同。
ss="dp-sql">
ss="alt">val studentInfo = ss="string">"1,Jerin,CSE"::ss="string">"2,Jerlin,ECE"::ss="string">"3,Arun,CSE"::Nil 
ss="">val ss="keyword">schema = new StructType()  
ss="alt">            .ss="keyword">add(ss="string">"Id",IntegerType) 
ss="">            .ss="keyword">add(ss="string">"Name",StringType) 
ss="alt">            .ss="keyword">add(ss="string">"Dept",StringType) 
ss="">val options = Map(ss="string">"delimiter" ->ss="string">",") 
ss="alt">val studentDF = studentInfo.toDF(ss="string">"Student_Info") 
ss="">.withColumn(ss="string">"csv_struct",from_csv('Student_Info, ss="keyword">schema,options)) 
ss="alt">studentDF.show() 
to_csv
要将"结构类型"列转换为CSV字符串。
例:
与Struct type列一起,此函数还接受可选的options参数,该参数指示如何将Struct列转换为CSV字符串。
ss="dp-sql">
ss="alt">studentDF 
ss="">.withColumn(ss="string">"csv_string",to_csv($ss="string">"csv_struct",Map.empty[String, String].asJava)) 
ss="alt">.show 
推断CSV字符串的模式,并以DDL格式返回模式。
例:
该函数需要一个CSV字符串列和一个可选参数,其中包含如何解析CSV字符串的选项。
ss="dp-sql">
ss="alt">studentDF 
ss="">  .withColumn(ss="string">"schema",schema_of_csv(ss="string">"csv_string")) 
ss="alt">  .show 
for_all
将给定谓词应用于数组中的所有元素,并且仅当数组中的所有元素求值为true时返回true,否则返回false。

(编辑:阿坝站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读