Java 如何获取变量中的数据帧值

Java 如何获取变量中的数据帧值,java,apache-spark,apache-spark-sql,Java,Apache Spark,Apache Spark Sql,我已经在Java中使用spark SQL创建了一个数据框架 Dataset<Row> dateDF = spark.sql("select dates from dim_date where dates between '2017-01-01' and '2017-01-04'"); 如何实现这一点?您可以选择列,将映射为字符串,然后收集到列表。我认为,将字符串列表转换为单个字符串之后应该不会有问题: dateDF.select("dates").as(Encoders.STRIN

我已经在Java中使用spark SQL创建了一个数据框架

Dataset<Row> dateDF = spark.sql("select dates from dim_date where dates between '2017-01-01' and '2017-01-04'");

如何实现这一点?

您可以选择列,将
映射为字符串,然后收集到列表。我认为,将字符串列表转换为单个字符串之后应该不会有问题:

dateDF.select("dates").as(Encoders.STRING()).collectAsList() //... and so on
在Java 8上,可以使用以下命令将值合并为一个字符串:

dateDF.select("dates").as(Encoders.STRING()).collectAsList().stream().collect(Collectors.joining(","));

谢谢@T.加维达。它对我有用。我是spark的新手,所以被困在那里。@没问题,我刚刚添加了最后一段和代码段;)主要想法来自教育部。
dateDF.select("dates").as(Encoders.STRING()).collectAsList().stream().collect(Collectors.joining(","));