我对蜂巢和火花还很陌生,但是我想做的感觉应该很简单。本质上,我想从Python中获取一个列表,然后仅从hive中提取在该列表中具有键的记录。像这样:
my_list=['a','b','c','d']
new_dataset =
spark.sql(
select *
from hive_dataset
where variable_name in my_list)
我什至可以在sql语句后处理它。像这样:
my_list=['a','b','c','d']
new_dataset =
spark.sql(
select *
from hive_dataset)
new_dataset=new_dataset(new_dataset[variable_name] in my_list)
我知道这是一个非常普通的问题,但是我该怎么做?这有可能吗?
答案 0 :(得分:0)
这应该有效-
my_list=['a','b','c','d']
your_filter = ','.join(["'" +i + "'" for i in my_list])
new_dataset = spark.sql("SELECT * FROM hive_dataset WHERE variable_name IN ({})".format(your_filter))