【问题标题】:Does spark streaming write ahead log saves all received data to HDFS?火花流式预写日志是否将所有接收到的数据保存到 HDFS?
【发布时间】:2015-11-22 01:13:03
【问题描述】:

如果在 Spark Streaming 中启用了预写日志,是否所有接收到的数据都会写入 HDFS 路径?或者它只写入元数据。 清理是如何工作的,HDFS 路径是否每天都变得越来越大,我是否需要编写清理作业以从预写日志文件夹中删除数据? 预写日志文件夹实际上有什么?

谢谢 斯里

【问题讨论】:

    标签: apache-spark spark-streaming


    【解决方案1】:

    启用 WAL 后,数据将被序列化并保存到 HDFS。因此,您的所有假设都是正确的,HDFS 文件变大了。但是,它会通过单独的过程进行清理。我还没有实际的参考资料来解释这一点,但您可以在源代码中看到这一点。此外,它还引入了更长的处理时间,因为这些是与您的转换和操作一起运行的进程

    【讨论】:

    • 所以默认情况下 spark 有一个清理过程,所以我不需要担心 WHL 目录大小。谢谢
    • 好问题。预写日志用于在需要时写入数据和写入元数据。当使用 conf spark.streaming.receiver.writeAheadLog.enable 启用数据 wal 时,接收者接收到的数据由执行者写入数据 WAL。在某些情况下,例如 Direct Kafka 和 Kinesis,记录标识由驱动程序写入另一个元数据 WAL。元数据 WAL 始终处于启用状态。所有 WAL 都负责清理@TD Tathagata Das
    猜你喜欢
    • 2019-08-13
    • 2018-01-19
    • 2015-05-15
    • 2018-03-21
    • 1970-01-01
    • 2018-07-27
    • 2018-06-04
    • 2022-01-23
    • 2016-10-06
    相关资源
    最近更新 更多