PTable¶
PTable
定义
-
class
bigflow.ptable.
PTable
(value, **options)¶ -
用于表示具有分布式Key-Value映射关系的
bigflow.ptype.PType
Constructor .. note:: 用户不应当直接使用其构造方法
参数: value (PType) -- PTable的Value Methods:
-
apply_key_values
(transform, *side_inputs, **options)¶ 将Key和Value做一个变换
参数: - transform (function) -- 变换函数
- *side_inputs -- 参与计算的SideInputs
- **options -- 可配置选项
返回: 变换结果
返回类型: >> nums = _pipeline.parallelize([1, 2, 3, 4, 5, 6, 7]) >> grouped = nums.group_by(lambda n: n % 2) >> def in_every_group(key, value): .. key = key.map(lambda k: 2 if k == 1 else 3) .. return value.take(key) >> grouped.apply_key_values(in_every_group).get() {0: [2, 4, 6], 1: [1, 3]}
-
apply_values
(transform, *args, **options)¶ 对Value进行一个变换
参数: - transform (callable) -- 作用在Value上的变换函数
- *args (object) -- 变换所需要的参数列表
- **options -- 可配置选项
返回: 变换结果
返回类型: >> nums = _pipeline.parallelize([1, 2, 3]) >> grouped = nums.group_by(lambda n: n % 2) >> grouped.apply_values(transforms.sum).get() {0: [2], 1: [4]}
-
extract_keys
(**options)¶ 提取给定PTable中所有的key,等价于
transforms.extract_keys(self, options)
:param **options: 可配置选项返回: 所有的key,以PCollection给出 返回类型: PCollection
-
extract_values
(**options)¶ 提取给定PTable中所有的value,等价于
transforms.extract_values(self, options)
参数: **options -- 可配置选项 返回: 所有的value,以PCollection给出 返回类型: PCollection
-
flatten
(**option)¶ 对于每个Key和Value中的每个元素(value 1, value 2, ... value m),构造(Key, value 1), (Key, value 2), ... (Key, value m),结果使用PCollection表示
返回: 表示结果的PCollection 返回类型: PCollection
-
flatten_values
()¶ 使用Value中的每个元素(value 1, value 2, ... value m),构造PCollection,等价于
self.extract_values()
返回: 包含所有Value的PCollection 返回类型: PCollection
-
inner_most_type
()¶ 返回其最内部Value的类型
返回: 最内部Value类型,PCollection或PObject 返回类型: class >>> _pipeline.parallelize({"A": 1}).inner_most_type() >>> bigflow.pcollection.PCollection
-
key_serdes
()¶ 返回Key的序列化/反序列化器
-
nested_level
()¶ 返回该PTable的嵌套层级,即其Value中包含几个PTable
返回: 嵌套层级 返回类型: int >>> _pipeline.parallelize({"A": 1}).nested_level() >>> 0
>>> _pipeline.parallelize({"A": "a": 1}).nested_level() >>> 1
-
node
()¶ 返回PTable所对应的Node
返回: node 返回类型: LogicalPlan.Node Raises: BigflowPlanningException
-- 若无法得到Node注解
用户不应当使用此方法
-