Używając modułu impyla, pobrałem wyniki zapytania impala do pandasowej ramki danych, wykonałem analizę i chciałbym teraz zapisać wyniki z powrotem do tabeli na impala, lub przynajmniej plik hdfs.Napisz tabelę pand do impala
Jednak nie mogę znaleźć żadnych informacji, jak to zrobić, ani nawet jak ssh wrzucić do powłoki impala i napisać stamtąd.
Co chciałbym zrobić:
from impala.dbapi import connect
from impala.util import as_pandas
# connect to my host and port
conn=connect(host='myhost', port=111)
# create query to save table as pandas df
create_query = """
SELECT * FROM {}
""".format(my_table_name)
# run query on impala
cur = conn.cursor()
cur.execute(create_query)
# store results as pandas data frame
pandas_df = as_pandas(cur)
cur.close()
Raz zrobiłem co trzeba zrobić z pandas_df zapisać te wyniki z powrotem do impala jak stół.
# create query to save new_df back to impala
save_query = """
CREATE TABLE new_table AS
SELECT *
FROM pandas_df
"""
# run query on impala
cur = conn.cursor()
cur.execute(save_query)
cur.close()
Powyższy scenariusz byłby idealny, ale byłbym szczęśliwy, gdybym mógł dowiedzieć się, jak ssh do impala-shell i zrobić to z pytona, albo nawet po prostu zapisać tabelę do HDFS. Piszę to jako skrypt dla innych użytkowników, więc ważne jest, aby wszystko zostało wykonane w skrypcie. Dzięki wielkie!
Tak naprawdę właśnie czytałem o Ibisie innego dnia. Wygląda na to, że muszę to sprawdzić. – SummerEla