【发布时间】:2021-04-28 08:20:28
【问题描述】:
我有一个数据框和一个字典列表如下 -
x=spark.createDataFrame(["10","11","13"], "string").toDF("age")
results = [
{'type': 'check_datatype',
'kwargs': {'table': x, 'columns': ['car_id','index'], 'd_type': 'str'},
'datasource_path': '/cars_dataset_ok/',
'Result': False},
{'type': 'check_string_consistency',
'kwargs': {'table': 'cars', 'columns': x, 'string_length': 6},
'datasource_path': '/cars_dataset_ok/',
'Result': False}
]
我想实现两件事-
1.
For each key/value pair in kwargs key, check if any value for all keys is of type pyspark Dataframe. If so, replace the value by the string "invalid dataframe"
2. For each key/value pair in kwargs key, check if value in 'table' key is of type pyspark Dataframe. If so, replace the value by the string "invalid dataframe"
预期输出 -
- 替换所有键的数据框值
最终结果1 =
[
{'type': 'check_datatype',
'kwargs': {'table': "invalid dataframe", 'columns': ['car_id','index'], 'd_type': 'str'},
'datasource_path': '/cars_dataset_ok/',
'Result': False},
{'type': 'check_string_consistency',
'kwargs': {'table': 'cars', 'columns': "invalid dataframe", 'string_length': 6},
'datasource_path': '/cars_dataset_ok/',
'Result': False}
]
- 在 kwargs 中的 key 为 'table' 的地方替换数据框
最终结果2=
[
{'type': 'check_datatype',
'kwargs': {'table': "invalid dataframe", 'columns': ['car_id','index'], 'd_type': 'str'},
'datasource_path': '/cars_dataset_ok/',
'Result': False},
{'type': 'check_string_consistency',
'kwargs': {'table': 'cars', 'columns': x, 'string_length': 6},
'datasource_path': '/cars_dataset_ok/',
'Result': False}
]
【问题讨论】:
-
@mck 我创建了一个 pyspark 数据框“x”以供您理解。
-
任何预期输出的例子?
-
输出将仅是相同的字典列表,但数据框 x 将被字符串值“无效数据框”替换
-
@mck 我在 2 个场景中添加了预期的输出
标签: python dataframe apache-spark pyspark apache-spark-sql