【问题标题】:How to create dynamic Seq<Column> in java如何在 java 中创建动态 Seq<Column>
【发布时间】:2017-10-11 14:22:35
【问题描述】:

我想从另一个数据集中创建一个数据集,但只包含一些特定的列,我想使用 dataset.select() 函数而不是创建一个动态 sql 查询,从这个数据集中选择我需要的列。

我发现使用JavaConversions.asScalaBuffer(asList(new Column("value1"), new Column("value2"))) 我可以创建一个Set&lt;Column&gt;,但我怎样才能做到动态呢?因为我试过这个。

List<Column> filterColumns = new ArrayList<>();
for (ColumnMetadata field : fields) {
    filterColumns.add(new Column(field.getFieldName()));
}  
dataset.select(JavaConversions.asScalaBuffer(asList(filterColumns)))

但这不起作用,编译器说no suitable method found for select(Buffer&lt;List&lt;Column&gt;&gt;)

【问题讨论】:

    标签: java apache-spark dataset


    【解决方案1】:

    像下面的列表一样使用它。

    dataset.select(JavaConversions.asScalaBuffer(filterColumns));
    

    或者像这样使用 seq。

    dataset.select(JavaConversions.asScalaBuffer(filterColumns).seq());
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-30
      • 1970-01-01
      • 1970-01-01
      • 2018-03-07
      • 1970-01-01
      • 1970-01-01
      • 2011-04-16
      • 1970-01-01
      相关资源
      最近更新 更多