无法将Dataframe结果写入配置单元表/lfs文件

rkttyhzu  于 2021-05-27  发布在  Spark
关注(0)|答案(1)|浏览(405)

将过滤后的数据写入文件时遇到问题。在本地文件系统中创建了大约27个文件,但没有输出。
使用的代码如下:
我把文件读作Dataframe
val in_df=spark.read.csv(“文件:///home/desktop/project/inputdata.csv”)。选择expr(“\u c0作为id”,“\u c1作为name”,“\u c2作为dept”)
然后将此Dataframe注册为临时表
在注册表中可清空(“employeedetails”)
现在的要求是计算每个部门的员工人数并将其存储到一个文件中。
val employeedeptcount=spark.sql(“按部门从employeedetails组中选择部门,计数(*))
//下面的代码将作为n个parquet文件写入配置单元默认仓库。
employeedeptcount.write.saveastable(“aggregatedcount”)
//下面的代码正在写入lfs,但是没有输出,但是创建了n个文件
employeedeptcount.write.mode(“append”).csv(“文件:///home/desktop/project”)

cgvd09ve

cgvd09ve1#

val in_df=spark.read.csv("file:///home/Desktop/Project/inputdata.csv").selectExpr("_c0 as Id","_c1 as name","_c2 as dept")

  // please, show your result
  in_df.show(false)

  val employeeDeptCount= in_df.groupBy("dept").count().alias("count")
  employeeDeptCount.persist()
  employeeDeptCount.write.format("csv").mode(SaveMode.Overwrite).saveAsTable("aggregatedcount")
  employeeDeptCount.repartition(1).write.mode("append").csv("file:///home/Desktop/Project")
  employeeDeptCount.unpersist()

// in_df.createOrReplaceTempView()
// in_df.createOrReplaceGlobalTempView()

相关问题