火花流速率源生成行太慢

Posted

技术标签:

【中文标题】火花流速率源生成行太慢【英文标题】:spark streaming rate source generate rows too slow 【发布时间】:2022-01-12 02:22:12 【问题描述】:

我正在使用 Spark RateStreamSource 每秒生成大量数据以进行性能测试。

为了测试我实际上得到了我想要的并发量,我将 rowPerSecond 选项设置为高数 10000,

    df = (
        spark.readStream.format("rate")
        .option("rowPerSecond", 100000)
        .option("numPartitions", 100)
        .load()
    )

但是,当我在本地运行 pyspark 脚本时,行生成非常慢。 (每秒少于 1 行)

我打印了结果,从下面的日志摘录中可以看到,大约一分钟后行数为 142

行内容:Row(timestamp=datetime.datetime(2021, 12, 6, 23, 36, 15, 16000), value=142)

所以我的问题是:

为什么费率源没有按我的预期工作,我在本地运行后有什么关系吗? 如何使用我的 spark 作业在本地增加并发?

【问题讨论】:

仅供参考,我尝试在 Databricks 集群上运行相同的代码,有 4 个工人,每个工人 16 核,并发性并没有增加太多。 【参考方案1】:

您的选项中有错字 - 应该是 rowsPerSecond

【讨论】:

糟糕,感谢您指出。

以上是关于火花流速率源生成行太慢的主要内容,如果未能解决你的问题,请参考以下文章

为啥 AWS Glue 不生成火花事件日志

火花 |生成过多的零件文件

使用火花的笛卡尔积

火花小兽人条纹

纱线上的火花任务太多[重复]

火花滞后与默认值作为另一列