airflow.providers.google.leveldb.hooks.leveldb

Level DB 的 Hook。

属性

DB_NOT_INITIALIZED_BEFORE

异常

LevelDBHookException

特定于 LevelDB 的异常。

LevelDBHook

与 LevelDB 数据库交互的 Plyvel 包装器。

模块内容

airflow.providers.google.leveldb.hooks.leveldb.DB_NOT_INITIALIZED_BEFORE = 'The `get_conn` method should be called before!'[source]
exception airflow.providers.google.leveldb.hooks.leveldb.LevelDBHookException[source]

Bases: airflow.exceptions.AirflowException

特定于 LevelDB 的异常。

class airflow.providers.google.leveldb.hooks.leveldb.LevelDBHook(leveldb_conn_id=default_conn_name)[source]

Bases: airflow.hooks.base.BaseHook

与 LevelDB 数据库交互的 Plyvel 包装器。

LevelDB 连接文档

conn_name_attr = 'leveldb_conn_id'[source]
default_conn_name = 'leveldb_default'[source]
conn_type = 'leveldb'[source]
hook_name = 'LevelDB'[source]
leveldb_conn_id = 'leveldb_default'[source]
connection[source]
db: plyvel.DB | None = None[source]
get_conn(name='/tmp/testdb/', create_if_missing=False, **kwargs)[source]

创建 Plyvel DB

参数:
  • name (str) – 数据库创建路径,例如 /tmp/testdb/)

  • create_if_missing (bool) – 是否在需要时创建新数据库

  • kwargs – 创建 plyvel.DB 的其他选项。详见上方链接。

返回:

DB

返回类型:

plyvel.DB

close_conn()[source]

关闭连接。

run(command, key, value=None, keys=None, values=None)[source]

执行 leveldb 操作。

参数:
  • command (str) – 用于 DB 对象的 plyvel(leveldb 的 python 包装) 命令,例如 "put", "get", "delete", "write_batch"

  • key (bytes) – 用于命令 (put,get,delete) 执行的键 (bytes, 例如 b'key', b'another-key')

  • value (bytes | None) – 用于命令 (put) 执行的值 (bytes, 例如 b'value', b'another-value')

  • keys (list[bytes] | None) – 用于命令 (write_batch) 执行的键 (list[bytes], 例如 [b'key', b'another-key'])

  • values (list[bytes] | None) – 用于命令 (write_batch) 执行的值,例如 [b'value', b'another-value']

返回:

从 get 获取的值或 None

返回类型:

bytes | None

put(key, value)[source]

通过键将单个值放入 leveldb 数据库。

参数:
  • key (bytes) – 用于 put 执行的键,例如 b'key', b'another-key'

  • value (bytes) – 用于 put 执行的值,例如 b'value', b'another-value'

get(key)[source]

通过键从 leveldb 数据库获取单个值。

参数:

key (bytes) – 用于 get 执行的键,例如 b'key', b'another-key'

返回:

从 db.get 获取的键的值

返回类型:

bytes

delete(key)[source]

通过键删除 leveldb 数据库中的单个值。

参数:

key (bytes) – 用于 delete 执行的键,例如 b'key', b'another-key'

write_batch(keys, values)[source]

通过键在 leveldb 数据库中写入一批值。

参数:
  • keys (list[bytes]) – 用于 write_batch 执行的键,例如 [b'key', b'another-key']

  • values (list[bytes]) – 用于 write_batch 执行的值,例如 [b'value', b'another-value']

此条目是否有帮助?