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

使用java在Apache spark中以平面列表的形式获取单个列值

滑骞尧
2023-03-14

我是Java和Apache spark的新手,并试图弄清楚如何从spark中的数据集中以平面列表的形式获取单个列的值。

Dataset<Row> sampleData = sparkSession.read()
                          .....
                          .option("query", "SELECT COLUMN1, column2 from table1")
                          .load();

List<Row> columnsList = sampleData.select("COLUMN1")
    .where(sampleData.col("COLUMN1").isNotNull()).collectAsList();

String result = StringUtils.join(columnsList, ", ");
// Result I am getting is
[15230321], [15306791], [15325784], [15323326], [15288338], [15322001], [15307950], [15298286], [15327223]
// What i want is":
15230321, 15306791......

我如何使用Java在spark中实现这一点?

共有1个答案

郁烨
2023-03-14

编码器可以将Spark行转换为字符串:

    List<String> result = sampleData.select("COLUMN1").as(Encoders.STRING()).collectAsList();
 类似资料:
  • 问题内容: 我想要: 在pylab中返回当前图形列表的魔术函数是什么? 网络搜索没有帮助… 问题答案: 编辑:正如MattiPastell的解决方案所示,还有一个更好的方法:使用。

  • 我知道Gradle有一个出色的任务,它列出了项目的所有依赖项。但是,它将以树状列表的形式返回它们。 我想要得到一个列表的所有我的依赖,因为他们是在一个简单的列表中解决的。类似于Maven依赖插件目标的行为。

  • 经过一些研究,我发现了这些关于变量的问题(1,2)。类似地,我想知道是否有可能在Python中以字符串的形式获取列表的名称,例如: 对于列表,可以使用这样的方法 应返回。

  • **我试图从列表中得到一个单一的:id,但它没有返回预期的数据...** GET/article/5B0BE8829F734A4E580A43C54013.845 ms-99=== 我的api=== 其他路线正在按预期工作... 这是我的服务,连接到我前端的路由api... 浏览器控制台中的错误响应=== HttpErrorResponse{headers:HttpHeaders,状态:401,状

  • 问题内容: 我正在尝试在Jersey中编写一个通用函数,该函数可用于通过REST获取相同类型的对象列表。我基于此论坛中的信息进行链接: 但是,这不起作用。如果我尝试执行它,则会出现以下错误:。 但是,如果我编写此函数时没有进行模板化(用实际的类名替换T),则可以正常工作。当然,这种方式会使函数失去其意义。 有没有办法解决这个问题? 问题答案: 我找到了解决方案 https://java.net/p

  • 这个问题似乎相当复杂,所以我在这里发布这个问题,寻找任何可能的解决方法。 我有地图清单。我想要一个地图列表,但要确保地图被转换成某种层次结构。 原始数据:(列表 此地图列表将转换为以下地图列表:(列表) 作为一个简单的解决方案,我试图手动处理它们(真的很无聊),所以我在寻找使用流或任何其他可能的方式来处理它们的任何高效、干净的方法。 更新朴素的解决方案如下