如何显示 impala 数据集市中的列名
How to show column name from impala datamart
基本上,我的公司使用 apache impala 作为数据集市。
之前定义了连接参数,连接定义为 conn = connect(host=host_name, port=port, user=user, password=password, database=database)
每次我需要 table 我需要调用这样的函数
def impala_connection(host, port, user, password, database):
conn = connect(host=host_name, port=port, user=user, password=password, database=database)
cursor = conn.cursor()
cursor.execute('SELECT * from table1')
results = cursor.fetchall()
return results
table1 = pd.DataFrame(impala_connection(host_name, port, user,password, database))
当我调用 table1
时,我的数据框将如下所示
0 1 2 3 4
0 a b c d e
1 e f g g i
实际上 table 有列名,如何显示?
从数据库中读取限制行使用 pd.read_sql
。并从 df.columns
获取 table 列名称。
import pandas as pd
from sqlalchemy import create_engine
conn = create_engine(
'impala://{user}:{password}@{host}:{port}/{database}'.format(
host=host, # your host
port=port,
database=database,
user=user,
password=password
)
sql_read = lambda sql: pd.read_sql(sql, conn)
sql_execute = lambda sql: pd.io.sql.execute(sql, conn)
sql = '''
select *
from table1
limit 1
'''
df = sql_read(sql)
print(df.columns)
基本上,我的公司使用 apache impala 作为数据集市。
之前定义了连接参数,连接定义为 conn = connect(host=host_name, port=port, user=user, password=password, database=database)
每次我需要 table 我需要调用这样的函数
def impala_connection(host, port, user, password, database):
conn = connect(host=host_name, port=port, user=user, password=password, database=database)
cursor = conn.cursor()
cursor.execute('SELECT * from table1')
results = cursor.fetchall()
return results
table1 = pd.DataFrame(impala_connection(host_name, port, user,password, database))
当我调用 table1
时,我的数据框将如下所示
0 1 2 3 4
0 a b c d e
1 e f g g i
实际上 table 有列名,如何显示?
从数据库中读取限制行使用 pd.read_sql
。并从 df.columns
获取 table 列名称。
import pandas as pd
from sqlalchemy import create_engine
conn = create_engine(
'impala://{user}:{password}@{host}:{port}/{database}'.format(
host=host, # your host
port=port,
database=database,
user=user,
password=password
)
sql_read = lambda sql: pd.read_sql(sql, conn)
sql_execute = lambda sql: pd.io.sql.execute(sql, conn)
sql = '''
select *
from table1
limit 1
'''
df = sql_read(sql)
print(df.columns)