1

私は ETL コードを Python に移行しており、pyhs2 を使用していましたが、pyhive は積極的にサポートおよび保守されており、誰も pyhs2 の所有権を取得していないため、pyhive に切り替える予定です。私の質問は、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)
4

0 に答える 0