提问人:SunflowerParty 提问时间:10/25/2023 更新时间:10/25/2023 访问量:12
如何使用字典键值对作为pyspark函数的输入?
How to use dictionary key value pairs as inputs into pyspark function?
问:
我想为我编写的 pyspark 函数定义一组参数,该函数需要下面列出的参数。许多参数是一致的,不包括 id 和 date。对于每个animal_id,我都有一个文件列表: 即
database = 'animal_db' #consistent
animal_type = 'mammal' #consistent
ARGUMENTS = [(database, animal_type, animal_id, date) for date in DATE_SET]
DATE_SET = {'lion235': {'animal_db/mammal/lion/2023002/1424/12.csv', 'animal_db/mammal/lion/2022013/4231/82.csv', 'animal_db/mammal/lion/2022098/1421/44.csv'},
'kangaroo441': {'animal_db/mammal/kangaroo/2023041/1599/97.csv', 'animal_db/mammal/kangaroo/2022100/9583/14.csv'}}
这是上面的参数馈入的函数,然后用于另一个函数。
def create_animal_table(ARGUMENTS):
database = ARGUMENTS[0]
animal_type = ARGUMENTS[1]
id = ARGUMENTS[2]
files = ARGUMENTS[4]
log = []
return log
对于每个像“lion235”这样的 id,我想要一个文件名列表以输入到 files 参数中,即 id = '狮子235' 文件 = ['animal_db/哺乳动物/狮子/2023002/1424/12.csv', 'animal_db/哺乳动物/狮子/2022013/4231/82.csv', 'animal_db/哺乳动物/狮子/2022098/1421/44.csv']
最初,我尝试将DATE_SET中的文件定义为列表,但收到错误“不可哈希类型列表”,因此我尝试在字典中设置一个集合,计划将该集合转换为列表,但这也不起作用。我不确定这种将键值对传递到 pyspark 函数的尝试叫什么,这使得研究该方法变得更加复杂。
DATE_SET = {'lion235': {'animal_db/哺乳动物/狮子/2023002/1424/12.csv', 'animal_db/哺乳动物/狮子/2022013/4231/82.csv', 'animal_db/哺乳动物/狮子/2022098/1421/44.csv'},
'袋鼠441': {'animal_db/哺乳动物/袋鼠/2023041/1599/97.csv', 'animal_db/哺乳动物/袋鼠/2022100/9583/14.csv'}}
提前感谢您的帮助!
答: 暂无答案
评论