国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 操作系統 > 正文

DataFrame格式化和RDD/Dataset/DataFrame互轉

2024-06-28 16:01:19
字體:
來源:轉載
供稿:網友

1.如果是格式化成Json的話直接    

val rdd = df.toJSON.rdd

 

2.如果要指定格式需要自定義函數如下:

//格式化具體字段條目

def formatItem(p:(StructField,Any)):String={  p match {    case (sf,a) =>      sf.dataType match {        case StringType => "/"" + sf.name + "/":/"" + a + "/""        case IntegerType => "/"" + sf.name + "/":" + a        case LongType => "/"" + sf.name + "/":" + a        case StructType(s) => "/"" + sf.name + "/":" + formatStruct(s, a.asInstanceOf[Row])      }    } }

//格式化整行數據格式def formatStruct(schema:Seq[StructField],r:Row)= {  val paired = schema.zip(r.toSeq)  "{" + paired.foldLeft("")((s,p) => (if(s == "") "" else (s + ", ")) + formatItem(p)) + "}" }

//格式化整個DFdef formatDataFrame(st:StructType,srdd:DataFrame)={  srdd.rdd.map(formatStruct(st.fields,_))}

調用示例:

val strings = formatDataFrame(df.schema, df)

strings.foreach { PRintln }

?

1.RDD -> Dataset val ds = rdd.toDS()2.RDD -> DataFrame val df = spark.read.json(rdd)3.Dataset -> RDDval rdd = ds.rdd4.Dataset -> DataFrameval df = ds.toDF()5.DataFrame -> RDDval rdd = df.toJSON.rdd6.DataFrame -> Datasetval ds = df.toJSON

轉載于http://www.CUOXin.com/ciade/


上一篇:cron表達式

下一篇:crontab

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 环江| 班玛县| 广德县| 饶河县| 四子王旗| 兰州市| 原阳县| 长兴县| 临夏市| 五大连池市| 宁波市| 普安县| 马龙县| 彝良县| 武定县| 新干县| 新津县| 巩义市| 永新县| 多伦县| 西乡县| 建瓯市| 达拉特旗| 云南省| 蒙阴县| 玉龙| 于都县| 泾川县| 富裕县| 南江县| 吕梁市| 长丰县| 齐齐哈尔市| 合山市| 弥渡县| 彭泽县| 高要市| 中牟县| 武威市| 年辖:市辖区| 四川省|