通常连接 Impla 数据库时,我们都是通过 Impyla 数据库来连接的,但是能否有办法直接通过 uri 来直接连接,并执行 SQL 呢?

1. 结合Pandas使用

  1. from sqlalchemy import create_engine
  2. impala_uri = 'impala://yumingmin:yumingmin@1.1.1.1:20000/test?auth_mechanism=PLAIN'
  3. engine = create_engine(impala_uri)lijiaxiang
  4. df = pd.read_sql("SELECT * FROM test.customers_data LIMIT 1", con=engine)
  5. print(df)

2. 直接执行

直接使用 SQLAlchemy 来执行:

  1. from sqlalchemy import create_engine
  2. impala_uri = 'impala://1.1.1.1:20000/test?user=yumingmin&password=yumingmin&auth_mechanism=PLAIN'
  3. engine = create_engine(impala_uri)
  4. res = engine.execute("SELECT * FROM test.customers_data LIMIT 1")
  5. print(res.fetchall())

相同的方式,我们也可以来执行 Hive SQL。