【问题标题】:How do I specify column family in RocksDB using Python?如何使用 Python 在 RocksDB 中指定列族?
【发布时间】:2021-08-22 06:48:42
【问题描述】:

我想读取一个 RocksDB 文件。我收到一个错误:

rocksdb.errors.InvalidArgument: b'Invalid argument: Column families not opened: col11, col10, col9, col8, col7, col6, col5, col4, col3, col2, col1, col0'

所以,我在访问数据库时用谷歌搜索并在代码中指定了列族:

column_families = {}
column_families[b"col1"] = rocksdb.ColumnFamilyOptions()


db_path = "<path to the database>"
db = rocksdb.DB(db_path, rocksdb.Options(create_if_missing=False), column_families = column_families)

即使我提供了错误消息中提到的列,我仍然收到相同的错误。

如何遍历该数据库中的行?

【问题讨论】:

    标签: python python-3.x rocksdb


    【解决方案1】:

    指定错误消息中的所有列有效。

    column_families = {}
    columns = ["col9", "col8", "col7", "col6", "col5", "col4", "col3", "col2", "col1", "col11", "col0", "col10"]
    for column in columns:
        column_families[bytes("{}".format(column), encoding='utf-8')] = rocksdb.ColumnFamilyOptions()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-05
      • 1970-01-01
      相关资源
      最近更新 更多