【问题标题】:Twitter Streaming API - low Input rate in flink/spark applicationTwitter Streaming API - flink/spark 应用程序中的低输入率
【发布时间】:2019-11-19 13:20:02
【问题描述】:

我正在使用 apache flink 和 spark 以及 twitter 连接器(来自 apache.bahir 的 flink-connector-twitter_2.12 和 spark-streaming-twitter)来接收实时推文并通过 svm 预测它们。

Flink

val streamSource: DataStream[String] = strEnv.addSource(new TwitterSource(properties))
...

火花

TwitterUtils.createStream(streamingContext, auth)
...

但是,这两个应用程序都在使用上述 API 的集群上运行。

我的问题是来自 twitter 的低输入率。 Spark 应用程序的平均速度为:51.98 条记录/秒,与真实的 twitter 数据(每秒 6k)相比非常低。

问题:有什么办法可以提高输入率?

感谢任何帮助 :) 谢谢

【问题讨论】:

    标签: scala apache-spark twitter apache-flink


    【解决方案1】:

    Flink 默认使用sample api。此 API 实时返回推文样本。值得注意的是,此 API 是有限制的,就像所有标准的非付费 Twitter API 一样,速率限制在here 中有详细说明。最好的办法是切换到没有限制的高级 Twitter API。

    【讨论】:

    • 我要补充一点,高级 API 目前不提供流式传输选项,因此这可能不起作用,BB 商业选项洛克企业可能会这样做。
    • 这里已经提到过,但如果我没记错的话,您可能需要记住每年 2k 到 100k 的付费 API 访问预算。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-10-18
    • 2014-03-19
    • 2018-11-03
    • 1970-01-01
    • 2015-05-17
    • 2015-12-10
    • 1970-01-01
    相关资源
    最近更新 更多