参数化pyhive的数据库和表名

时间:2019-05-09 14:53:26

标签: sqlalchemy pyhive

所以我与mysql(使用SQLAlchemy)和hive(使用PyHive)建立了连接 在我的python脚本上,SQLalchemy提取表和数据库的名称。

我要问的是,在我提取名称之后,如何将这些名称传递给pyhive以便提取所需的表,任何帮助都会很棒。

engine = create_engine('mysql+pymysql://<mydetails>')
conn = engine.connect()

b=conn.execute("select t_value from ui_data_prep.talend_ingestion_fw where t_key='target_table_name' order by ID desc limit 1; ").fetchall()
tb = re.sub("[^a-zA-Z./]", 
                          "",          
                          str(b))

print(tb)

b=conn.execute("select t_value from ui_data_prep.talend_ingestion_fw where t_key='target_database_name' order by ID desc limit 1; ").fetchall()
db = re.sub("[^a-zA-Z./]", 
                          "",       
                          str(b))
print(db)


part= db+"."+tb   //db is database name,tb is table
print(part)



conn = hive.Connection(host="<myhost>", port=10000, username="userxyz")



 #Read Hive table and Create pandas dataframe
df = pd.read_sql("SELECT * FROM part", conn)
print(df.head())

我想知道上面的SQL语句如何将部分内容放入查询中。

0 个答案:

没有答案