Databricks 笔记本 - return 来自 table 的所有值

Databricks notebook - return all values from a table

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

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

我试过以下变体:

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)

如何return所有栏目的内容?

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

dbutils.notebook.exit(result)