Impala支持的语言和访问方式

2017-01-05  本文已影响0人  ZYJ2016

描述

Impala 支持哪些语言?尤其是对于C C++的支持
对JDBC ODBC的支持如何?
是否有适用C C++调用的接口?
如果有条件,实际check下

解决

Impala底层由C++编写的,LLVM同一编译运行。
从形式上来说,Java前段,C++处理后端。(通常会说impala是C++实现的所以性能更好,但它的SQL解析部分的确是JAVA实现的)
支持两种语言实现的UDF(用户自定义函数):java和C++;UDAF(用户自定义聚合函数)只能支持C++实现。


Impala支持标准的JDBC接口,允许商业智能工具和用Java或者其他语言写成的客户端软件接入。
端口:21050
驱动

/*所需JAR包*/
commons-logging-X.X.X.jar
  hadoop-common.jar
  hive-common-X.XX.X-cdhX.X.X.jar
  hive-jdbc-X.XX.X-cdhX.X.X.jar
  hive-metastore-X.XX.X-cdhX.X.X.jar
  hive-service-X.XX.X-cdhX.X.X.jar
  httpclient-X.X.X.jar
  httpcore-X.X.X.jar
  libfb303-X.X.X.jar
  libthrift-X.X.X.jar
  log4j-X.X.XX.jar
  slf4j-api-X.X.X.jar
  slf4j-logXjXX-X.X.X.jar

存放路径(可自定义):/opt/jars/.
在CLASSPATH配置中添加:export CLASSPATH=/opt/jar/*.jar:$CLASSPATH

以上内容来自cloudera官网文档:Configuring Impala to Work with JDBC,点击链接查看更多细节。

第三方产品可以通过ODBC与impala结合使用。

端口

驱动:官网上为不同的产品提供了各种驱动,在选择驱动时推荐用户选择 2.x 版本

以上内容来自cloudera官网文档:Configuring Impala to Work with ODBC,点击链接查看更多细节。


impala可以通过ODBC调用C/C++程序

impala ODBC安装步骤

  1. 安装unixODBC
    yum install unixODBC yum install unixODBC-devel
  2. 安装impala ODBC驱动
# Generic ODBCInstLib  
#   iODBC  
# ODBCInstLib=libiodbcinst.so   
#   SimbaDM / unixODBC  
ODBCInstLib=libodbcinst.so  
  1. 修改/etc/odbc.ini 文件
    指定驱动、HOST ip、端口等参数
  2. 验证是否安装成功
    isql -v impalaodbc
    安装成功会显示如下内容:
+---------------------------------------+  
| Connected!                            |  
|                                       |  
| sql-statement                         |  
| help [tablename]                      |  
| quit                                  |  
|                                       |  
+---------------------------------------+  

这样配置后,C/C++程序就可以通过unixODBC访问Impala中的数据了。

上一篇 下一篇

猜你喜欢

热点阅读