根据python列表过滤配置单元数据集

时间:2019-03-18 18:50:17

标签: python hive pyspark pyspark-sql

我对蜂巢和火花还很陌生,但是我想做的感觉应该很简单。本质上,我想从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)

我知道这是一个非常普通的问题,但是我该怎么做?这有可能吗?

1 个答案:

答案 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))