日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

文檔

Hive連接器

更新時間:

使用Hive連接器可以查詢和分析存儲在Hive數據倉庫中的數據。本文為您介紹Hive連接器相關的內容和操作。

背景信息

Hive數倉系統由以下三部分內容組成:
  • 不同格式的數據文件,通常存儲在Hadoop分布式文件系統(HDFS)或對象存儲系統(例如,阿里云OSS)中。
  • 存儲著數據文件到Schema和Table映射的元數據。該元數據存儲在數據庫(例如,MySQL)中,并通過Hive Metastore Service(HMS)訪問。
  • 一種稱為HiveQL的查詢語言。該查詢語言在分布式計算框架(例如,MapReduce或Tez)上執行。

前提條件

已創建EMR-3.45.0及后續版本和EMR-5.11.0及后續版本,且選擇了Presto服務的集群,詳情請參見創建集群

使用方式

  • Hive連接器支持多種分布式存儲系統,包括HDFS、阿里云OSS或Amazon S3的兼容系統,都可以使用Hive連接器查詢。

  • 訪問Hive Metastore時,必須確保Coordinator節點和所有worker節點能夠通過網絡訪問Hive Metastore以及存儲系統。默認情況下,通過Thrift協議訪問Hive Metastore的端口號為9083。

  • Hive連接器支持訪問DLF。只需在創建集群時,元數據選擇DLF統一元數據,即可讓Hive連接器默認指向DLF。

查詢示例

  1. 進入Presto命令行,詳情請參見通過命令方式訪問Presto

  2. 執行以下命令,創建測試表。

    create table hive.default.doc(id int);
  3. 執行以下命令,寫入數據。

    insert into hive.default.doc values(1),(2);
  4. 執行以下命令,查詢數據。

    select * from hive.default.doc;

    返回以下信息。

     id
    ----
      1
      2
    (2 rows)

默認配置

參數

描述

hive.metastore.uri

Hive Metastore使用Thrift協議連接的URI。

默認值格式為thrift://<主節點名稱>.<集群ID>.<Region名稱>.emr.aliyuncs.com:9083

連接DLF時可以填任意合法的值。

hive.config.resources

HDFS配置文件的列表,多個配置文件時以逗號(,)分隔。這些配置文件必須存在于Presto運行的所有主機上。例如core-site.xml,hdfs-site.xml等。

在EMR集群中,core-site.xml內包含訪問OSS所需的配置,不建議隨意修改。

hive.recursive-directories

是否允許從表或分區所在位置的子目錄讀取數據,類似Hive的hive.mapred.supports.subdirectories屬性,默認為true。

hive.non-managed-table-writes-enabled

是否啟用對非托管(外部)Hive表的寫入,默認為true。

hive.copy-on-first-write-configuration-enabled

是否減少hdfsConfiguration的拷貝數,默認為false。

建議保持為默認值false,因為開啟該參數后,OSS免密以及LDAP、Kerberos均會失效。

hive.hdfs.impersonation.enabled

是否啟用用戶代理,默認為false。

如果您在HDFS側啟用了用戶代理,則需要開啟此配置,否則不需要開啟該配置。

多連接器

如果您有多個Hive集群,或者同時訪問DLF與Hive Metastore,可以通過以下方式配置多連接器:

  • etc/catalog路徑下增加相應數量的.properties后綴的Catalog文件。

    例如,如果您創建了一個名為sales.properties的屬性文件,則Presto將使用其中配置的連接器創建一個名為sales的Catalog。通過將connector.name配置為hive-hadoop2,Presto可以將其識別成一個Hive連接器。

  • 使用EMR提供的占位連接器。

    EMR默認提供了5個占位連接器,即connector1到connector5。您可以選擇其中任意一個,修改相應配置使之成為第二個Hive連接器。該方式的缺點是查詢時的Catalog名稱只能是connector1到connector5。