繁体   English   中英

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

[英]Databricks notebook - return all values from a table

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

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

我尝试了以下变体:

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

但是第一个命令失败并出现错误:AnalysisException: Try to map struct<Version:bigint,metadataInformation:struct<metadataID:string... etc...> to Tuple1,但由于字段数未对齐而失败。

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

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

如何返回所有列的内容?

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

dbutils.notebook.exit(result)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM