Databricks 笔记本 - 从表中返回所有值

时间:2021-03-18 11:45:24

标签: sql databricks

出于测试目的,我有一个空数据库,我在其中填充了少量数据,这些数据是从 json 文件中提取和转换的。

我想使用 scala 创建一个笔记本,它从给定表的所有列中获取所有值,然后退出笔记本,将此结果作为字符串返回。

我尝试了以下变体:

val result = spark.sql("select * from table.DB").as[String];
dbutils.notebook.exit(result)

但是第一个命令失败并出现错误: AnalysisException: 尝试将 struct 映射到 Tuple1,但由于字段数未对齐而失败。;

但是,从列中检索特定字段的值时,类似于以下内容:

val result = spark.sql("select column.jsonfield from table.DB").as[String].first();
dbutils.notebook.exit(result)

如何返回所有列的内容?

1 个答案:

答案 0 :(得分:0)

val result = spark.sql("SELECT x FROM y").collect().toList.flatMap(x => x.toSeq).mkString(",")

dbutils.notebook.exit(result)