pika icon indicating copy to clipboard operation
pika copied to clipboard

pika支持rocksdb的sstFileWriter的方式生成sst文件,然后快速加载到集群的fastload方式吗

Open sixteenbells opened this issue 4 years ago • 9 comments

需求: 每天业务会产生TB级别的离线数据,存储在hive,希望快速导入pika。方案是通过spark直接生成sst文件,然后传输到pika集群,最后bulkload的方式将数据导入pika集群。 问题: 请问pika支持这种导入方式吗?

sixteenbells avatar Dec 20 '21 09:12 sixteenbells

当前不支持,这个可以做,这个我来跟一下 你说一下你用的版本

wanghenshui avatar Dec 21 '21 09:12 wanghenshui

感觉可以利用rocksdb的sstdump工具解析数据,然后写到pika的redis服务端口中。

kernelai avatar Dec 21 '21 11:12 kernelai

感觉可以利用rocksdb的sstdump工具解析数据,然后写到pika的redis服务端口中。

简单研究了一下,应该是类似这玩意的东西 https://github.com/vesoft-inc/nebula-spark-utils/tree/master/nebula-exchange 结合spark生态 1 提供一个给spark调用生成sst的接口库,集成到spark跑到jar里 2 pika支持bulk_load接口,加载导入到文件到数据库

2不难,1得研究spark,我不会,这个一时半会搞不定,得研究下

wanghenshui avatar Dec 21 '21 11:12 wanghenshui

当前不支持,这个可以做,这个我来跟一下 你说一下你用的版本

使用的最新版本3.3.6

sixteenbells avatar Dec 21 '21 12:12 sixteenbells

不需要了解spark,只需要能提供生成最终落盘数据的jar包就可以了,rocksdb是支持的,https://javadoc.io/doc/org.rocksdb/rocksdbjni/6.6.4/org/rocksdb/SstFileWriter.html。

sixteenbells avatar Dec 21 '21 12:12 sixteenbells

主要是不会java,不了解jar包这套东西

wanghenshui avatar Dec 22 '21 11:12 wanghenshui

哦哦,可以考虑实现这种导入方式哈,这样在导入大量离线数据的场景,导入耗时会减少非常多

sixteenbells avatar Dec 22 '21 13:12 sixteenbells

可以试下接入这个 https://github.com/Jeffail/benthos

WyattJia avatar Dec 31 '21 03:12 WyattJia

当前可以先用 https://github.com/RedisLabs/spark-redis/tree/v3.0.0 对付一下。 fastload这个具体的开发还要研究一下

wanghenshui avatar Jan 19 '22 02:01 wanghenshui