1.安装impyla

pip install impyla 

 2.在superset页面配置如下,此时impala是有kerberos认证的

impala://xxxx:xx/default?auth_mechanism=GSSAPI&kerberos_service_name=impala

如果遇到下面的问题,是thrift-sasl版本过高

The error message returned was:\n'TSocket' object has no attribute 'isOpen'

 降级为0.2.1版本就可以

pip list | grep thrift-sasl
thrift-sasl            0.3.0      
pip install thrift-sasl==0.2.1

测试,ok

Superset配置impala数据源

查询

Superset配置impala数据源

 

当将thrift-sasl从0.3.0降级为0.2.1之后,连接hive会报

from pyhive import hive ImportError: cannot import name 'constants'

Superset配置impala数据源

解决方法是将原来hive的uri从

hive://xxx:xxx/default?auth=KERBEROS&kerberos_service_name=hive

 修改为

impala://xxx:xxx/default?auth_mechanism=GSSAPI&kerberos_service_name=hive

Superset配置impala数据源

同时附上impala和hive查询的时间对比,impala要快很多

hive

Superset配置impala数据源

impala

Superset配置impala数据源

其中city为array,在impala中不能使用select语句来查询,因为impala中select语句只支持标量

Superset配置impala数据源

如果要在impala中查询array中的数据,需要这么查

select * from default.arraydemo, default.arraydemo.city

结果,这是将array中的数据进行了展平

Superset配置impala数据源

 

相关文章:

  • 2021-11-01
  • 2022-12-23
  • 2021-07-30
  • 2021-07-01
  • 2022-12-23
  • 2021-12-22
  • 2022-01-12
猜你喜欢
  • 2022-12-23
  • 2021-12-13
  • 2021-06-01
  • 2022-01-01
  • 2021-08-04
  • 2021-05-15
  • 2021-08-09
相关资源
相似解决方案