【问题标题】:Read single parquet file in parallel in Spark?在 Spark 中并行读取单个镶木地板文件?
【发布时间】:2017-09-11 15:33:53
【问题描述】:

我们使用 Spark 1.6(以及 Spark 2.1)并在 Hive-table 上运行,这些 Hive-table 保存为 parquet 文件。在某些情况下,我们只有很少的文件(大约 10 MB 大小)。

例如,有两个 parquet 文件,使用 sqlContext.table(tableName).rdd.count 读取这些表会创建一个只有 2 个任务的 sparkjob,这需要相当长的时间(约 12 秒)。

我的问题是:是否有可能以比仅N 更多的并行性读取N 文件?有没有办法在不改变文件系统上的文件数量的情况下加快这个火花作业?由于 HDFS 是一个分布式文件系统(并且文件被复制),我可以想象不止一台机器可以同时读取文件的(一部分)。

【问题讨论】:

  • 你解决过这个问题吗?

标签: apache-spark hdfs


【解决方案1】:

向上 使用多个执行器和/或多个线程(使用 spark.task.cpus>1)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-22
    • 2020-02-03
    • 2020-08-15
    • 2021-01-12
    • 2021-08-27
    • 2019-01-09
    • 1970-01-01
    • 2015-06-21
    相关资源
    最近更新 更多