首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何显示来自impala datamart的列名

如何显示来自impala datamart的列名
EN

Stack Overflow用户
提问于 2020-12-30 12:59:18
回答 1查看 47关注 0票数 0

基本上,我的公司使用apache impala for datamart。

之前定义了连接参数,并将连接定义为conn = connect(host=host_name, port=port, user=user, password=password, database=database)

每次我需要一个表的时候,我都需要像这样调用一个函数

代码语言:javascript
复制
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时,我的数据帧将如下所示

代码语言:javascript
复制
      0     1    2    3    4
0     a     b    c    d    e
1     e     f    g    g    i

表实际上有列名,该如何显示?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-30 13:11:43

使用pd.read_sql从数据库中读取限制行。并从df.columns获取表列名称。

代码语言:javascript
复制
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)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65502240

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档