Table of Contents
总览
Hive连接器允许查询存储在Hive数据仓库中的数据。Hive是三个组件的组合:
- 各种格式的数据文件通常存储在Hadoop分布式文件系统(HDFS)或Amazon S3中。
- 有关如何将数据文件映射到架构和表的元数据。此元数据存储在数据库(例如MySQL)中,并可通过Hive Metastore服务进行访问。
- 一种查询语言,称为HiveQL。该查询语言在诸如MapReduce或Tez的分布式计算框架上执行。
Presto仅使用前两个组件:数据和元数据。它不使用HiveQL或Hive执行环境的任何部分。
支持的文件类型
Hive连接器支持以下文件类型:
- ORC
- Parquet
- Avro
- RCFile
- SequenceFile
- JSON
- Text
配置
Hive连接器支持Apache Hadoop 2.x及其衍生版本,包括Cloudera CDH 5和Hortonworks Data Platform(HDP)。
修改: etc/catalog/hive.properties
使用: hive-hadoop2 作为连接器 [不可能改]
配置如下
[root@master catalog]# pwd
/opt/presto/etc/catalog
[root@master catalog]#
[root@master catalog]#
[root@master catalog]# ll
总用量 8
-rw-rw-r--. 1 presto hadoop 172 6月 18 13:07 hive.properties
-rw-rw-r--. 1 presto hadoop 124 4月 18 17:33 mysql.properties
[root@master catalog]#
[root@master catalog]# more hive.properties
connector.name=hive-hadoop2
hive.metastore.uri=thrift://hive-metaserver:9083
hive.config.resources=/opt/hadoop/etc/hadoop/core-site.xml,/opt/hadoop/etc/hadoop/hdfs-site.xml
[root@master catalog]#
[root@master catalog]#
多个配置单元群集
您可以根据需要拥有任意数量的目录,
如果您有其他Hive集群,只需向其添加另一个etc/catalog
具有不同名称的属性文件(确保以结尾.properties
)。
例如,如果您命名属性文件sales.properties
,则Presto将创建一个sales
使用已配置的连接器命名的目录。
HDFS配置
对于基本设置,Presto会自动配置HDFS客户端,不需要任何配置文件。在某些情况下,例如当使用联合HDFS或NameNode高可用性时,有必要指定其他HDFS客户端选项以访问您的HDFS群集。为此,添加hive.config.resources
属性以引用您的HDFS配置文件:
hive.config.resources=/opt/hadoop/etc/hadoop/core-site.xml,/opt/hadoop/etc/hadoop/hdfs-site.xml
仅在需要时指定其他配置文件。我们还建议减少配置文件,使其具有最少的必需属性集,因为其他属性可能会引起问题。
配置文件必须存在于所有Presto节点上。如果要引用现有的Hadoop配置文件,请确保将它们复制到任何未运行Hadoop的Presto节点。
HDFS用户名 [重要]
当不将Kerberos与HDFS一起使用时,Presto将使用Presto进程的OS用户访问HDFS(即系统用户)。
例如,如果Presto以root身份运行,它将以身份访问HDFS的权限为root用户的权限。
可以通过HADOOP_USER_NAME
在Presto JVM Config中设置系统属性来覆盖此用户名,并替换hdfs_user
为适当的用户名:
-DHADOOP_USER_NAME=
hdfs_user
[root@master etc]# pwd
/opt/presto/etc
[root@master etc]# ll
总用量 16
drwxr-xr-x. 2 presto hadoop 53 6月 18 13:07 catalog
-rw-r--r--. 1 presto hadoop 177 6月 18 13:34 config.properties
-rw-r--r--. 1 presto hadoop 194 6月 18 13:34 jvm.config
-rw-rw-r--. 1 presto presto 25 4月 18 17:33 log.properties
-rw-r--r--. 1 presto hadoop 85 6月 18 13:34 node.properties
[root@master etc]# more jvm.config
-server
-Xmx2G
-XX:+UseG1GC
-XX:G1HeapRegionSize=32M
-XX:+UseGCOverheadLimit
-XX:+ExplicitGCInvokesConcurrent
-XX:+HeapDumpOnOutOfMemoryError
-XX:+ExitOnOutOfMemoryError
-DHADOOP_USER_NAME=hdfs
验证
cd ${PRESTO_HOME}/bin
./presto --server 192.168.100.100:8989 --catalog hive --schema default
官方:
https://prestodb.io/docs/current/connector/hive.html