【问题标题】:Pass List[String] to function that takes f(args: String*) scala将 List[String] 传递给采用 f(args: String*) scala 的函数
【发布时间】:2016-07-08 02:18:44
【问题描述】:

我需要用 spark 读取特定的 parquet 文件,我知道可以这样做:

sqlContext
    .read
    .parquet("s3://bucket/key", "s3://bucket/key")

现在我有一个 List[String] 对象,其中包含所有这些 s3 路径,但我不知道如何以编程方式将其传递给 Scala 中的 parquet 函数?有很多文件可以手动完成,有什么想法如何以编程方式将文件放入 parquet 函数中?

【问题讨论】:

  • 您正在寻找 splat 运算符.parquet(listOfStrings:_*)
  • 真的,非常感谢!

标签: scala apache-spark parquet


【解决方案1】:

我之前回答过一个关于重复参数here的类似问题。

正如@Dima 提到的,您正在寻找一个 splat 运算符,因为 .parquet 预期 重复参数

sqlContext.read.parquet(listOfStrings:_*)

更多关于Scala Language Specification 4.6.2 节中重复参数的信息

虽然是 scala 2.9 的规范,但这部分并没有改变。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-20
    • 2015-07-02
    • 2012-12-02
    • 1970-01-01
    • 1970-01-01
    • 2014-04-06
    • 1970-01-01
    • 2019-08-05
    相关资源
    最近更新 更多