国产探花免费观看_亚洲丰满少妇自慰呻吟_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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 浏阳市| 荣昌县| 克什克腾旗| 红河县| 沂南县| 襄城县| 米脂县| 遂溪县| 安达市| 郴州市| 商洛市| 临江市| 平泉县| 漳平市| 梓潼县| 岳池县| 西藏| 甘谷县| 广汉市| 辽阳市| 玛多县| 咸丰县| 永和县| 大足县| 丹凤县| 论坛| 章丘市| 墨脱县| 镇安县| 康马县| 门源| 正定县| 祁门县| 长兴县| 黑山县| 清涧县| 长春市| 灵川县| 富川| 紫云| 晋江市|