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]}
-
提取给定PTable中所有的key,等价于
transforms.extract_keys(self, options)
:param **options: 可配置选项返回: 所有的key,以PCollection给出 返回类型: PCollection -
提取给定PTable中所有的value,等价于
transforms.extract_values(self, options)
参数: **options — 可配置选项 返回: 所有的value,以PCollection给出 返回类型: PCollection -
对于每个Key和Value中的每个元素(value 1, value 2, … value m),构造(Key, value 1), (Key, value 2), … (Key, value m),结果使用PCollection表示
返回: 表示结果的PCollection 返回类型: PCollection -
使用Value中的每个元素(value 1, value 2, … value m),构造PCollection,等价于
self.extract_values()
返回: 包含所有Value的PCollection 返回类型: PCollection -
返回其最内部Value的类型
返回: 最内部Value类型,PCollection或PObject 返回类型: class >>> _pipeline.parallelize({"A": 1}).inner_most_type()
>>> bigflow.pcollection.PCollection
-
返回Key的序列化/反序列化器
-
返回该PTable的嵌套层级,即其Value中包含几个PTable
返回: 嵌套层级 返回类型: int >>> _pipeline.parallelize({"A": 1}).nested_level()
>>> 0
>>> _pipeline.parallelize({"A": "a": 1}).nested_level()
>>> 1
-
返回PTable所对应的Node
返回: node 返回类型: LogicalPlan.Node Raises: BigflowPlanningException
— 若无法得到Node注解
用户不应当使用此方法