- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 flink 作业 (scala),它基本上是从 kafka-topic (1.0) 读取数据,聚合数据(1 分钟事件时间滚动窗口,使用 fold 函数,我知道这是已弃用,但比聚合函数更容易实现),并将结果写入 2 个不同的 kafka 主题。
问题是 - 当我使用 FS 状态后端时,一切运行顺利,检查点需要 1-2 秒,平均状态大小为 200 mb - 也就是说,直到状态大小增加(关闭时)例如,一个间隙)。
我想我会尝试使用 rocksdb(通过 hdfs)作为检查点 - 但吞吐量明显低于 fs 状态后端。据我了解,当使用 fs 状态后端时,flink 不需要为每个状态访问进行序列化/反序列化,因为状态保存在内存(堆)中,岩石 db 确实如此,我想这就是速度下降的原因(和背压,检查点需要更长的时间,有时会在 10 分钟后超时)。
不过,有时状态无法放入内存中,我正在尝试弄清楚如何让 rocksdb 状态后端执行“更好”。
是因为弃用的折叠功能吗?我是否需要微调一些在文档中不容易搜索到的参数?有什么建议吗?
最佳答案
每个状态后端都在某处保存工作状态,然后将其检查点持久保存在分布式文件系统中。 RocksDB 状态后端将其工作状态保存在磁盘上,这可以是本地磁盘,希望比 hdfs 更快。
尝试将 state.backend.rocksdb.localdir(参见 https://ci.apache.org/projects/flink/flink-docs-release-1.6/ops/state/state_backends.html#rocksdb-state-backend-config-options)设置为每个任务管理器上最快的本地文件系统上的某个位置。
启用增量检查点也可能产生很大的不同。
另见 Tuning RocksDB .
关于hdfs - Flink RocksDB 性能问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53250108/
RocksDB声称可以存储任意数据,但API仅支持std::string类型。我要存储std::vector值,如果我想这样做,那么我必须将其转换为 std::string 。 是否有一种不太脆弱的方
我在 rocksdb 上工作,但无法获得可以告诉我关卡内文件大小最大限制的选项?如果一旦达到最大大小,文件将如何在 RocksDB 中拆分? 最佳答案 您正在寻找的选项是 target_file_si
我按照这里的说明操作:http://pyrocksdb.readthedocs.org/en/latest/installation.html 当我尝试 pip install git+git://g
已结束。此问题正在寻求书籍、工具、软件库等的推荐。它不满足Stack Overflow guidelines 。目前不接受答案。 我们不允许提出寻求书籍、工具、软件库等推荐的问题。您可以编辑问题,以便
我通过 C API 使用 RocksDB。 我有一个测试程序,它打开数据库,执行 1,000 次写入(收集启动写入和回调之间的计时数据),执行 1,000 次读取,然后关闭。 这有效。平均写入时间约为
我在应用程序中使用 Rocksdb,关闭所有数据库实例后,我仍然看到正在运行的线程Rocksdb::ThreadPoolImpl::Impl::BGThread(无符号长整型) () 因此,当我关闭应
我在应用程序中使用 Rocksdb,关闭所有数据库实例后,我仍然看到正在运行的线程Rocksdb::ThreadPoolImpl::Impl::BGThread(无符号长整型) () 因此,当我关闭应
在多核服务器(或集群)上,希望在每个相互独立的核心上部署一个 RocksDB 数据库,即。不是在寻找分布式数据库。这可能吗? 对于每个内存数据库,它是否需要在运行时操作期间与存储通信,即。不是在启动或
我在多线程环境中使用 rocksdb。 我的所有线程都在执行 get()、put() 和 merge() 操作,可能使用相同的键。 rocks 是否为我提供任何内置同步?它是可配置的吗?我查看了文档和
我正在寻找 C++ 中的嵌入式数据存储引擎。 RocksDB 是一个键值存储。 我的数据非常同质。我有一定数量的类型(大约 20 个),并且存储了这些类型的许多实例(大约 100 万个)。 我认为数据
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,
我使用 rocksdb C++ API 并创建了一些 column_families。现在,我想创建一个自增列,所以我想获取列中的键总数,然后+1。有没有办法直接获取列的大小? 最佳答案 我不认为这是
我使用以下标志集编译我的代码 LIBS += $(EXT_DIR)/librocksdb.a -lrt -lsnappy -llz4 -lz librocksdb.a 生成的地方 PO
当我构建 RocksDB 时使用生成 200MB+ librocksdb.a 文件的 make static_lib,但是当我通过包管理器安装相同版本时(与 Brew 和 apt 相比), .a 文件
我试图找出为什么我的 kafka-streams 应用程序内存不足。我已经发现 rocksDB 正在消耗大量 native 内存,我尝试使用以下配置来限制它: # put index and filt
我想使用 RocksDB 的方式我觉得很不寻常。我想用它来降低内存中有大量字符串的应用程序的内存压力。原因是因为应用程序最终会扩展到需要数十 GB 的 RAM 来存储所有字符串的程度。这是一个仅 64
我读过有关 Redis 和 RocksDB 的资料,但我不了解 Redis 相对于 RocksDB 的优势。 我知道Redis是全内存的,RocksDB是内存的,用的是闪存。如果所有数据都适合内存,我
来自(稍微)过时的documentation on pyrocksdb ,它说: “如果你不想调用make install导出以下环境变量:” $ export CPLUS_INCLUDE_PATH=
我有一个 flink 作业 (scala),它基本上是从 kafka-topic (1.0) 读取数据,聚合数据(1 分钟事件时间滚动窗口,使用 fold 函数,我知道这是已弃用,但比聚合函数更容易实
MyRocks (MySql) 和 Cassandra 都使用 LSM 架构来存储它们的数据。所以我用 MyRocks 作为存储引擎在 MySql 和 Cassandra 中填充了大约 500 万行。
我是一名优秀的程序员,十分优秀!