Как перебрать Pyhive fetchmany курсор
Я переносил свой код 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)