Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
ОБЛАСТЬ ПРИМЕНЕНИЯ: Фабрика данных Azure
Azure Synapse Analytics
Совет
Попробуйте использовать фабрику данных в Microsoft Fabric, решение для аналитики с одним интерфейсом для предприятий. Microsoft Fabric охватывает все, от перемещения данных до обработки и анализа данных в режиме реального времени, бизнес-аналитики и отчетности. Узнайте, как бесплатно запустить новую пробную версию !
В этой статье описывается, как с помощью действия копирования в Фабрике данных Azure и конвейерах Azure Synapse Analytics копировать данные из Hive. Это продолжение статьи об обзоре действия копирования, в которой представлены общие сведения о действии копирования.
Это важно
Соединитель Hive версии 2.0 обеспечивает улучшенную встроенную поддержку Hive. Если вы используете соединитель Hive версии 1.0 в решении, обновите соединитель Hive до 30 сентября 2025 г. Дополнительные сведения о разнице между версией 2.0 и версией 1.0 см. в этом разделе .
Поддерживаемые возможности
Соединитель Hive поддерживается для следующих возможностей:
Поддерживаемые возможности | ИКР (инфракрасное излучение) |
---|---|
Действие копирования (источник/-) | (1) (2) |
Поток данных для сопоставления (источник/-) | (1) |
Действие поиска | (1) (2) |
① Среда выполнения интеграции Azure ② Локальная среда выполнения интеграции
Список хранилищ данных, которые поддерживаются в качестве источников и приемников для действия копирования, приведен в таблице Поддерживаемые хранилища данных и форматы.
Служба предоставляет встроенный драйвер для обеспечения подключения, поэтому вам не нужно вручную устанавливать какой-либо драйвер с помощью этого соединителя.
Соединитель поддерживает версии Windows в этой статье.
Необходимые компоненты
Если хранилище данных размещено в локальной сети, виртуальной сети Azure или виртуальном частном облаке Amazon, для подключения к нему нужно настроить локальную среду выполнения интеграции.
Если же хранилище данных представляет собой управляемую облачную службу данных, можно использовать Azure Integration Runtime. Если доступ предоставляется только по IP-адресам, утвержденным в правилах брандмауэра, вы можете добавить IP-адреса Azure Integration Runtime в список разрешений.
Вы также можете использовать функцию среды выполнения интеграции в управляемой виртуальной сети в Фабрике данных Azure для доступа к локальной сети без установки и настройки локальной среды выполнения интеграции.
Дополнительные сведения о вариантах и механизмах обеспечения сетевой безопасности, поддерживаемых Фабрикой данных, см. в статье Стратегии получения доступа к данным.
Замечание
Версия 2.0 поддерживается с локальной средой выполнения интеграции версии 5.54 или более поздней.
Начало работы
Чтобы выполнить действие копирования с конвейером, можно воспользоваться одним из приведенных ниже средств или пакетов SDK:
- средство копирования данных;
- Портал Azure
- Пакет SDK для .NET
- Пакет SDK для Python
- Azure PowerShell
- The REST API
- шаблон Azure Resource Manager.
Создание связанной службы для Hive с помощью пользовательского интерфейса
Выполните следующие действия, чтобы создать связанную службу для Hive в пользовательском интерфейсе портала Azure.
Перейдите на вкладку "Управление" в рабочей области Фабрики данных Azure или Synapse и выберите "Связанные службы", после чего нажмите "Создать":
Найдите Hive и выберите соединитель Hive.
Настройте сведения о службе, проверьте подключение и создайте связанную службу.
Сведения о конфигурации соединителя
Следующие разделы содержат сведения о свойствах, которые используются для определения сущностей фабрики данных, относящихся к соединителю Hive.
Свойства связанной службы
Соединитель Hive теперь поддерживает версию 2.0. См. этот раздел , чтобы обновить версию соединителя Hive с версии 1.0. Чтобы узнать подробности о свойстве, см. соответствующие разделы.
Версия 2.0
Связанная служба Hive поддерживает следующие свойства при применении версии 2.0:
Свойство | Описание: | Обязательное поле |
---|---|---|
тип | Для свойства type необходимо задать значение Hive. | Да |
версия | Версия, которую вы указали. Значение равно 2.0 . |
Да |
хост | IP-адрес или имя узла сервера Hive. | Да |
порт | TCP-порт, используемый сервером Hive для прослушивания клиентских подключений. При подключении к Azure HDInsights укажите порт 443. | Да |
тип сервера | Тип сервера Hive. Допустимое значение: HiveServer2 |
нет |
thriftTransportProtocol | Транспортный протокол для использования в слое Thrift. Допустимое значение: Binary, SASL, HTTP |
нет |
тип аутентификации | Метод проверки подлинности, используемый для доступа к серверу Hive. Допустимые значения: Anonymous, UsernameAndPassword, WindowsAzureHDInsightService. Проверка подлинности Kerberos теперь не поддерживается. |
Да |
имя пользователя | Имя пользователя, которое позволяет получить доступ к серверу Hive. | нет |
пароль | Пароль, соответствующий пользователю. Пометьте это поле как SecureString, чтобы безопасно хранить его, или добавьте ссылку на секрет, хранящийся в Azure Key Vault. | нет |
httpPath (HTTP путь) | Частичный URL-адрес, соответствующий серверу Hive. | нет |
включитьSSL | Указывает, шифруются ли подключения к серверу с помощью протокола TLS. Значение по умолчанию — true. | нет |
включитьПроверкуСертификатаСервера | Укажите, следует ли включить проверку SSL-сертификата сервера при подключении. Всегда используйте системное хранилище доверия. Значение по умолчанию — true. | нет |
ссылка на хранилище | Ссылка на связанную службу учетной записи хранения, используемую для промежуточного хранения и обработки в потоке данных для сопоставления. Это требуется только при использовании связанного сервиса Hive в потоке сопоставления данных. | нет |
connectVia | Среда выполнения интеграции, используемая для подключения к хранилищу данных. Дополнительные сведения см. в разделе Предварительные условия. Если не указано другое, по умолчанию используется интегрированная среда выполнения Azure. Вы можете использовать локальную среду выполнения интеграции, а ее версия должна быть 5.54 или более поздней. | нет |
Пример:
{
"name": "HiveLinkedService",
"properties": {
"type": "Hive",
"version": "2.0",
"typeProperties": {
"host" : "<host>",
"port" : "<port>",
"authenticationType" : "WindowsAzureHDInsightService",
"username" : "<username>",
"password": {
"type": "SecureString",
"value": "<password>"
},
"serverType": "HiveServer2",
"thriftTransportProtocol": "HTTP",
"enableSsl": true,
"enableServerCertificateValidation": true
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Версия 1.0
Следующие свойства поддерживаются для связанной службы Hive при применении версии 1.0:
Свойство | Описание: | Обязательное поле |
---|---|---|
тип | Для свойства type необходимо задать значение Hive. | Да |
хост | IP-адрес или имя узла сервера Hive, разделенные ";" для нескольких узлов (только при включенном режиме serviceDiscoveryMode). | Да |
порт | TCP-порт, используемый сервером Hive для прослушивания клиентских подключений. При подключении к Azure HDInsights укажите порт 443. | Да |
тип сервера | Тип сервера Hive. Допустимые значения: HiveServer1, HiveServer2, HiveThriftServer. |
нет |
thriftTransportProtocol | Транспортный протокол для использования в слое Thrift. Допустимые значения: Binary, SASL, HTTP |
нет |
тип аутентификации | Метод проверки подлинности, используемый для доступа к серверу Hive. Допустимые значения: Anonymous, Username, UsernameAndPassword, WindowsAzureHDInsightService. Проверка подлинности Kerberos теперь не поддерживается. |
Да |
режим_обнаружения_сервисов | Значение true, если служба ZooKeeper используется, значение false — если нет. | нет |
zooKeeperNameSpace | Пространство имен на ZooKeeper, в которое добавлены 2 узла сервера Hive. | нет |
использоватьНативныйЗапрос | Определяет, использует ли драйвер собственные запросы HiveQL или преобразует их в эквивалентную форму в HiveQL. | нет |
имя пользователя | Имя пользователя, которое позволяет получить доступ к серверу Hive. | нет |
пароль | Пароль, соответствующий пользователю. Пометьте это поле как SecureString, чтобы безопасно хранить его, или добавьте ссылку на секрет, хранящийся в Azure Key Vault. | нет |
httpPath (HTTP путь) | Частичный URL-адрес, соответствующий серверу Hive. | нет |
включитьSSL | Указывает, шифруются ли подключения к серверу с помощью протокола TLS. По умолчанию используется значение false. | нет |
доверенный_путь_сертификата | Полный путь к PEM-файлу, который содержит сертификаты доверенного ЦС для проверки сервера при подключении по протоколу TLS. Это свойство можно установить только при использовании TLS в локальных средах выполнения интеграции. Значением по умолчанию является файл cacerts.pem, который устанавливается вместе с IR. | нет |
useSystemTrustStore (использовать хранилище доверия системы) | Указывает, следует ли использовать сертификат ЦС из доверенного хранилища системы или из указанного PEM-файла. По умолчанию используется значение false. | нет |
разрешитьНесоответствиеИмениХостаCN | Указывает, следует ли требовать, чтобы имя TLS/SSL-сертификата, выданного ЦС, совпадало с именем узла сервера при подключении по протоколу TLS. По умолчанию используется значение false. | нет |
разрешить самоподписанный серверный сертификат | Указывает, следует ли разрешить использование самозаверяющих сертификатов с сервера. По умолчанию используется значение false. | нет |
connectVia | Среда выполнения интеграции, используемая для подключения к хранилищу данных. Дополнительные сведения см. в разделе Предварительные условия. Если не указано другое, по умолчанию используется интегрированная среда выполнения Azure. | нет |
ссылка на хранилище | Ссылка на связанную службу учетной записи хранения, используемую для промежуточного хранения и обработки в потоке данных для сопоставления. Это необходимо только при использовании связанной службы Hive в потоке данных для сопоставления | нет |
Пример:
{
"name": "HiveLinkedService",
"properties": {
"type": "Hive",
"typeProperties": {
"host" : "<cluster>.azurehdinsight.net",
"port" : "<port>",
"authenticationType" : "WindowsAzureHDInsightService",
"username" : "<username>",
"password": {
"type": "SecureString",
"value": "<password>"
}
}
}
}
Свойства набора данных
Полный список разделов и свойств, доступных для определения наборов данных, см. в статье о наборах данных. Этот раздел содержит список свойств, поддерживаемых набором данных Hive.
Чтобы скопировать данные из Hive, установите свойство типа набора данных HiveObject. Поддерживаются следующие свойства:
Свойство | Описание: | Обязательное поле |
---|---|---|
тип | Свойство type для набора данных должно иметь значение HiveObject | Да |
схема | Имя схемы. | Нет (если свойство query указано в источнике действия) |
таблица | Имя таблицы. | Нет (если свойство query указано в источнике действия) |
имя_таблицы | Имя таблицы с указанием части схемы. Это свойство поддерживается только для обеспечения обратной совместимости. Для новой рабочей нагрузки используйте schema и table . |
Нет (если свойство query указано в источнике действия) |
Пример
{
"name": "HiveDataset",
"properties": {
"type": "HiveObject",
"typeProperties": {},
"schema": [],
"linkedServiceName": {
"referenceName": "<Hive linked service name>",
"type": "LinkedServiceReference"
}
}
}
Свойства действия копирования
Полный список разделов и свойств, используемых для определения действий, см. в статье Конвейеры и действия в фабрике данных Azure. Этот раздел содержит список свойств, поддерживаемых источником Hive.
HiveSource в качестве источника
Чтобы копировать данные из Hive, установите тип источника HiveSource в действии копирования. В разделе source действия копирования поддерживаются следующие свойства:
Свойство | Описание: | Обязательное поле |
---|---|---|
тип | Свойство type источника действия копирования должно иметь значение HiveSource. | Да |
запрос | Используйте пользовательский SQL-запрос для чтения данных. Например: "SELECT * FROM MyTable" . |
Нет (если для набора данных задано свойство tableName) |
Пример:
"activities":[
{
"name": "CopyFromHive",
"type": "Copy",
"inputs": [
{
"referenceName": "<Hive input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "HiveSource",
"query": "SELECT * FROM MyTable"
},
"sink": {
"type": "<sink type>"
}
}
}
]
Свойства потока данных для сопоставления
Соединитель Hive поддерживается в качестве встроенного источника данных в потоках данных для сопоставления. Чтение с помощью запроса или непосредственно из таблицы Hive в HDInsight. Данные Hive помещаются в учетную запись хранения в виде файлов Parquet перед преобразованиями в составе потока данных.
Свойства источника
В таблице, приведенной ниже, указаны свойства, поддерживаемые источником Hive. Изменить эти свойства можно на вкладке Source options (Параметры источника).
Имя | Описание: | Обязательное поле | Допустимые значения | Свойство скрипта для потока данных |
---|---|---|---|---|
Store (Сохранить) | Хранилище должно быть hive |
да | hive |
хранилище |
Формат | Выполняется ли чтение из таблицы или запроса | да |
table или query |
формат |
Имя схемы | При чтении из таблицы схема исходной таблицы | Да, если формат table |
Строка | ИмяСхемы |
Имя таблицы | При чтении из таблицы имя таблицы | Да, если формат table |
Строка | имя_таблицы |
Запрос | Если для параметра format задано значение query , то исходный запрос к связанной службе Hive |
Да, если формат query |
Строка | запрос |
Промежуточное хранение | Таблица Hive всегда будет промежуточной. | да | true |
промежуточное хранение |
Контейнер хранилища | Контейнер хранилища, используемый для промежуточного хранения данных перед чтением из Hive или записью в Hive. Кластер Hive должен иметь доступ к этому контейнеру. | да | Строка | контейнер для хранения |
Промежуточная база данных | Схема или база данных, к которым имеет доступ учетная запись пользователя, указанная в связанной службе. Это используется для создания внешних таблиц во время промежуточного хранения и последующего удаления | нет |
true или false |
имя базы данных для стадирования |
Предшествующие скрипты SQL | Код SQL для выполнения в таблице Hive перед чтением данных | нет | Строка | preSQLs |
Пример источника
Ниже приведен пример конфигурации источника Hive:
Эти параметры переводятся в следующий сценарий потока данных:
source(
allowSchemaDrift: true,
validateSchema: false,
ignoreNoFilesFound: false,
format: 'table',
store: 'hive',
schemaName: 'default',
tableName: 'hivesampletable',
staged: true,
storageContainer: 'khive',
storageFolderPath: '',
stagingDatabaseName: 'default') ~> hivesource
Известные ограничения
- Для чтения не поддерживаются сложные типы, такие как массивы, карты, структуры и объединения.
- Соединитель Hive поддерживает только таблицы Hive в Azure HDInsight версии 4.0 или более поздней версии (Apache Hive 3.1.0)
- По умолчанию драйвер Hive предоставляет значение tableName.columnName в приемнике. Если вы не хотите видеть имя таблицы в имени столбца, это можно исправить двумя способами. a. Проверьте параметр hive.resultset.use.unique.column.name" на стороне сервера Hive и задайте для него значение false. б. Используйте сопоставление столбцов для переименования имени столбца.
Сопоставление типов данных для Hive
При копировании данных из Hive и в Hive в рамках службы используются следующие промежуточные сопоставления типов данных. Чтобы узнать, как действие копирования сопоставляет исходную схему и типы данных с приемником, см. раздел Сопоставление схем и типов данных.
Тип данных Hive | Тип данных промежуточной службы (для версии 2.0) | Тип данных промежуточной службы (для версии 1.0) |
---|---|---|
TINYINT | Сбайт (Sbyte) | Int16 |
СМОЛЛИНТ | Int16 | Int16 |
ИНТ | Int32 | Int32 |
БИГИНТ | Int32 | Int64 |
Булевый | Булевый | Булевый |
ФЛОАТ | Единственный | Единственный |
ДВОЙНОЙ | Двойной | Двойной |
ДЕСЯТИЧНЫЙ | Десятичное число | Десятичное число |
СТРУНА | Строка | Строка |
VARCHAR | Строка | Строка |
ОБГОРАТЬ | Строка | Строка |
TIMESTAMP | DateTimeOffset (смещение даты и времени) | дата и время |
Дата | дата и время | дата и время |
БИНАРНЫЙ | Байт[] | Байт[] |
МАССИВ | Строка | Строка |
КАРТА | Строка | Строка |
СТРУКТУРА | Строка | Строка |
Свойства действия поиска
Подробные сведения об этих свойствах см. в разделе Действие поиска.
Жизненный цикл и обновление соединителя Hive
В следующей таблице показаны этап выпуска и журналы изменений для различных версий соединителя Hive:
Версия | Этап выпуска | Журнал изменений |
---|---|---|
Версия 1.0 | Дата окончания поддержки объявлена | / |
Версия 2.0 | GA версия доступна | • Локальная версия среды выполнения интеграции должна быть 5.54 или более поздней. • Значение enableSSL по умолчанию имеет значение true.
enableServerCertificateValidation поддерживается. trustedCertPath , useSystemTrustStore allowHostNameCNMismatch и allowSelfSignedServerCert не поддерживаются. • TINYINT читается как тип данных SByte. • TIMESTAMP считывается как тип данных DateTimeOffset. • Использование ";" для разделения нескольких узлов (только при включении serviceDiscoveryMode) не поддерживается. • HiveServer1 и HiveThriftServer не поддерживаются для ServerType . • Тип проверки подлинности имени пользователя не поддерживается. Протокол транспорта SASL поддерживает только тип проверки подлинности UsernameAndPassword. Двоичный транспортный протокол поддерживает только анонимный тип проверки подлинности. • serviceDiscoveryMode и zooKeeperNameSpace useNativeQuery не поддерживаются. |
Обновление соединителя Hive с версии 1.0 до версии 2.0
На странице "Изменить связанную службу " выберите версию 2.0 и настройте связанную службу, указав свойства связанной службы версии 2.0.
Сопоставление типов данных для связанной службы Hive версии 2.0 отличается от сопоставления типов данных для версии 1.0. Сведения о последнем сопоставлении типов данных см. в разделе "Сопоставление типов данных" для Hive.
Примените локальную среду выполнения интеграции с версией 5.54 или более поздней.
Связанный контент
Список хранилищ данных, которые поддерживаются в качестве источников и приемников для действия Copy, приведен в таблице Поддерживаемые хранилища данных и форматы.