当前位置: 首页 > 知识库问答 >
问题:

使用scala将转换后的列追加到spark数据帧

宗烨赫
2023-03-14

我正在尝试访问配置单元表,并从表/数据帧中提取和转换某些列,然后将这些新列放入新的数据帧中。我试着用这种方式-

val sqlContext = new org.apache.spark.sql.hive.HiveContext(sc)

val hiveDF = sqlContext.sql("select * from table_x")

val system_generated_id = hiveDF("unique_key")
val application_assigned_event_id = hiveDF("event_event_id")

val trnEventDf = sqlContext.emptyDataFrame
trnEventDf.withColumn("system_generated_id",lit(system_generated_id))

它使用SBT构建时没有任何错误。但当我尝试运行它时,我收到以下错误-

我想了解是什么导致了这个错误,如果有任何其他的方法来完成我正在尝试做的事情。

共有1个答案

齐财
2023-03-14

通常,您不需要为此创建新的df。当您通过向df添加唯一的Id来转换它时,您就得到了您想要的df。如果您想保存它,只需将它保存为新的配置单元表。

 类似资料:
  • 我想使用spark dataframe将行转换为列。 我的桌子是这样的 我想把它转换成 我用了下面的代码:- 但我得到的结果是-- 任何人都可以帮助得到渴望的结果。

  • 问题内容: 我一直在尝试重新实现HTML5图像上传程序,例如MozillaHacks网站上的HTML5图像上传程序,但是它可以与WebKit浏览器一起使用。任务的一部分是从对象中提取图像文件,并将其附加到FormData对象以进行上传。 问题在于,虽然具有返回图像文件表示形式的功能,但FormData对象仅接受FileAPI中的 File或Blob对象。 Mozilla解决方案在Firefox上使

  • 我一直在尝试重新实现一个HTML5图像上传程序,就像Mozilla Hacks网站上的一样,但它适用于WebKit浏览器。部分任务是从对象中提取图像文件,并将其附加到FormData对象以供上传。 问题是,虽然具有函数来返回图像文件的表示形式,但FormData对象仅接受来自文件API的文件或Blob对象。 Mozilla解决方案在画布上使用了以下仅限Firefox的函数: ...这在WebKit

  • 我有一个如下的CSV文件。 我想把这个转化成下面。 基本上,我想在输出数据帧中创建一个名为idx的新列,该列将填充与键=idx,value=“n”后面的行相同的值“n”。

  • 问题内容: 我一直在尝试重新实现HTML5图像上传程序,HTML5图像上传程序,但是它可以与WebKit浏览器一起使用。任务的一部分是从对象中提取图像文件,并将其附加到FormData对象以进行上传。 问题在于,虽然具有返回图像文件表示形式的功能,但FormData对象仅接受FileAPI中的 File或Blob对象。 Mozilla解决方案在Firefox上使用了以下仅Firefox功能: …在

  • 我需要将多个列附加到现有的spark dataframe,其中列名称在列表中给定,假设新列的值是常量,例如给定的输入列和dataframe是 并且在附加两列后,假设 col1 的常量值为“val1”,col2 的常量值为“val2”,则输出数据帧应为 我已经编写了一个函数来追加列 有没有更好的方式,更具功能性的方式去做。 谢啦