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