Python 配置单元数据到数据帧
Python新手 如何将数据从配置单元保存到熊猫数据框Python 配置单元数据到数据帧,python,pandas,hadoop,hive,Python,Pandas,Hadoop,Hive,Python新手 如何将数据从配置单元保存到熊猫数据框 with pyhs2.connect(host, port=20000,authMechanism="PLAIN",user,password, database) as conn: with conn.cursor() as cur: #Show databases print cur.getDatabases() #Execute query
with pyhs2.connect(host, port=20000,authMechanism="PLAIN",user,password,
database) as conn:
with conn.cursor() as cur:
#Show databases
print cur.getDatabases()
#Execute query
cur.execute(query)
#Return column info from query
print cur.getSchema()
#Fetch table results
for i in cur.fetch():
print i
**columnNames = [a['columnName'] for a in cur.getSchema()]
print columnNames
df1=pd.DataFrame(cur.fetch(),columnNames)**
尝试使用列名。没用
请。提出建议 正如我之前获取数据并试图再次获取一样,获取空数据帧也是如此
cur.execute(query)
val=cur.fetchall()
columnNames = [a['columnName'] for a in cur.getSchema()]
df=pd.DataFrame(data=val,columns=columnNames)
#print df
return df
你可以试试这个:我很确定它会起作用
res = cur.getSchema()
description = list(col['columnName'] for col in res) ## for getting the column names of the table
headers = [x.split(".")[1] for x in description] # for splitting the list if the column name contains a period
df= pd.DataFrame(cur.fetchall(), columns = headers)
df.head(n = 20)
熊猫0.24.0采用DB连接。直接使用pandas.read_sql连接,如下所示:
从pyhive导入hive
作为pd进口熊猫
开放连接
连接=配置单元。连接主机=主机,端口=20000。。。
将表查询到新的数据帧
dataframe=pd.read\u sqlSELECT id,来自test.example\u表的名称,conn
Dataframe的列将以配置单元表的名称命名。如果需要,可以在数据帧创建期间/之后更改它们:
通过HiveQL:选择id作为新列名称。。。
通过pd.read\u sql中的columns属性
没用。很难被认为是一个好的错误描述:我认为blaze是实现这一点的合适工具——不过,我还没有使用它。这对你来说可能是一本有趣的读物:谢谢。。谢谢你指出这一点。无论如何,问题现在解决了