如何从 impala 数据集市显示列名
Posted
技术标签:
【中文标题】如何从 impala 数据集市显示列名【英文标题】:How to show column name from impala datamart 【发布时间】:2020-12-30 04:59:18 【问题描述】:基本上,我的公司使用 apache impala 进行数据集市。
连接参数在之前定义,连接定义为conn = connect(host=host_name, port=port, user=user, password=password, database=database)
每次我需要一个表时,我都需要调用这样的函数
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
其实表有列名,怎么显示?
【问题讨论】:
【参考方案1】:从数据库使用pd.read_sql
读取限制线。并从df.columns
获取表列名。
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)
【讨论】:
文件"<ipython-input-73-1309ee172688>"
,第13行sql_read = lambda sql: pd.read_sql(sql, conn)
^SyntaxError: invalid syntax
以上是关于如何从 impala 数据集市显示列名的主要内容,如果未能解决你的问题,请参考以下文章
是啥让访问 OLAP 多维数据集/数据集市和类似数据结构比访问关系数据库更快?