如何迭代Pyhive fetchmany游标

时间:2016-02-11 07:50:37

标签: python pyhive

我正在将我的ETL代码迁移到Python并使用pyhs2,但我将切换到pyhive,因为它得到了积极的支持和维护,没有人获得pyhs2的所有权。 我的问题是如何构造fetchmany方法来迭代数据集。

以下是我使用pyhs2的方式:

while hive_cur.hasMoreRows:
    hive_stg_result = hive_cur.fetchmany(size=200000)
    hive_stg_df = pd.DataFrame(hive_stg_result)
    hive_stg_df[27] = etl_load_key
    if len(hive_stg_df) == 0:
        call("rm -f /tmp/{0} ".format(filename), shell=True)
        print ("No data delta")
    else:
        print (str(len(hive_stg_df)) + " delta records identified")
        for i, row in hive_stg_df.iterrows():

我有fetchmany(size = 100000),但是当它返回空集时失败。

hive_stg_result = pyhive_cur.fetchmany(size=100000)
hive_stg_df = pd.DataFrame(hive_stg_result)

0 个答案:

没有答案