Azure Data Factory kullanarak Hive'dan veri Azure Data Factory

Uygulama hedefi: Azure SYNAPSE Analytics 'i Azure Data Factory

Bu makalede, Hive'dan veri kopyalamak için Azure Data Factory veya Synapse Analytics işlem hattında Kopyalama Etkinliğinin nasıl kullanımı açıklanmıştır. Kopyalama etkinliğine genel bir genel bakış sunan kopyalama etkinliğine genel bakış makalesinde yer almaktadır.

Desteklenen özellikler

Bu Hive bağlayıcısı aşağıdaki etkinlikler için de kullanılabilir:

Hive'dan desteklenen herhangi bir havuz veri deposuna veri kopyaabilirsiniz. Kopyalama etkinliği tarafından kaynak/havuz olarak desteklenen veri depolarının listesi için Desteklenen veri depoları tablosuna bakın.

Hizmet, bağlantı sağlamak için yerleşik bir sürücü sağladığı için bu bağlayıcıyı kullanarak herhangi bir sürücüyü el ile yüklemeniz gerekmez.

Önkoşullar

Veri deponız bir şirket içi ağ, Azure sanal ağı veya Amazon Virtual Private Cloud içinde bulunuyorsa, buna bağlanmak için şirket içinde barındırılan bir tümleştirme çalışma zamanı yapılandırmanız gerekir.

Veri deponız yönetilen bir bulut veri hizmeti ise, veri deposu Azure Integration Runtime. Erişim, güvenlik duvarı kurallarında onaylanan IP'ler ile sınırlı ise, izin Azure Integration Runtime izin verme listesine güvenlik duvarı ekleyebilirsiniz.

Şirket içinde barındırılan tümleştirme çalışma zamanı yüklemeden ve yapılandırmadan şirket Azure Data Factory ağa erişmek için yönetilen sanal ağ tümleştirme çalışma zamanı özelliğini de kullanabilirsiniz.

Ağ güvenlik mekanizmaları ve ağ tarafından desteklenen seçenekler hakkında daha fazla bilgi Data Factory bkz. Veri erişim stratejileri.

Başlarken

İşlem hattıyla Kopyalama etkinliği gerçekleştirmek için aşağıdaki araçlardan veya SDK'lardan birini kullanabilirsiniz:

Kullanıcı arabirimini kullanarak Hive'a bağlı hizmet oluşturma

Azure portal kullanıcı arabiriminde Hive'a bağlı bir hizmet oluşturmak için Azure portal kullanın.

  1. Azure Data Factory veya Synapse çalışma alanınız içinde Yönet sekmesine göz atarak Bağlı Hizmetler'i seçin ve Yeni'ye tıklayın:

  2. Hive için arama ve Hive bağlayıcısı'ı seçin.

    Hive bağlayıcısı'ı seçin.

  3. Hizmet ayrıntılarını yapılandırma, bağlantıyı test edin ve yeni bağlı hizmeti oluşturun.

    Hive'a bağlı bir hizmet yapılandırma.

Bağlayıcı yapılandırma ayrıntıları

Aşağıdaki bölümlerde, Hive bağlayıcıya özgü varlıkları tanımlamak için Data Factory özellikler hakkında ayrıntılar sağlanmıştır.

Bağlı hizmet özellikleri

Hive bağlı hizmeti için aşağıdaki özellikler de desteklemektedir:

Özellik Açıklama Gerekli
tür Type özelliği şu şekilde ayarlı: Hive Yes
konak Birden çok konak için ';' ile ayrılmış Hive sunucusunun IP adresi veya ana bilgisayar adı (yalnızca serviceDiscoveryMode etkinleştirildiğinde). Yes
port Hive sunucusunun istemci bağlantılarını dinlemek için kullandığı TCP bağlantı noktası. Azure HDInsight bağlantı noktasını 443 olarak belirtin. Yes
Servertype Hive sunucusunun türü.
İzin verilen değerler: HiveServer1, HiveServer2, HiveThriftServer
No
thriftTransportProtocol Thrift katmanında kullanmak için aktarım protokolü.
İzin verilen değerler: İkili, SASL, HTTP
No
authenticationType Hive sunucusuna erişmek için kullanılan kimlik doğrulama yöntemi.
İzin verilen değerler: Anonim, Kullanıcı Adı, UsernameAndPassword, WindowsAzureHDInsightService. Kerberos kimlik doğrulaması şu anda desteklenmiyor.
Yes
serviceDiscoveryMode ZooKeeper hizmetinin kullanımına işaret etmek için true, false değil. No
zooKeeperNameSpace Hive Server 2 düğümlerinin eklandığı ZooKeeper'da ad alanı. No
useNativeQuery Sürücünün yerel HiveQL sorguları mı kullandığını yoksa HiveQL'de eşdeğer bir biçime mi dönüştüreceklerini belirtir. No
username Hive Sunucusuna erişmek için kullanabileceğiniz kullanıcı adı. No
password Kullanıcıya karşılık gelen parola. Bu alanı güvenli bir şekilde depolamak için SecureString olarak işaretle veya içinde depolanan bir gizli diziye Azure Key Vault. No
httpPath Hive sunucusuna karşılık gelen kısmi URL. No
enableSsl Sunucuya yapılan bağlantıların TLS kullanılarak şifrelenme olup olmadığını belirtir. Varsayılan değer false'tur. No
trustedCertPath TLS üzerinden bağlanırken sunucuyu doğrulamak için güvenilen CA sertifikalarını içeren .pem dosyasının tam yolu. Bu özellik yalnızca kendinden konak IR'de TLS kullanırken ayarlanabiliyor. Varsayılan değer, IR ile birlikte yüklenmiş cacerts.pem dosyasıdır. No
useSystemTrustStore Sistem güven depolamadan veya belirtilen bir PEM dosyasından CA sertifikası kullanıp kullanmaycazı belirtir. Varsayılan değer false'tur. No
allowHostNameCNMismatch TLS üzerinden bağlanırken sunucunun ana bilgisayar adıyla eşleşmesi için CA tarafından verilen TLS/SSL sertifika adının gerekli olup olmadığını belirtir. Varsayılan değer false'tur. No
allowSelfSignedServerCert Sunucudan otomatik olarak imzalanan sertifikalara izin verilip izin ver ver mu olduğunu belirtir. Varsayılan değer false'tur. No
connectVia Veri Integration Runtime bağlanmak için kullanılacak uygulamadır. Önkoşullar bölümünden daha fazla bilgi edinebilirsiniz. Belirtilmezse, varsayılan Azure Integration Runtime. No
storageReference Eşleme veri akışında verileri hazırlama için kullanılan depolama hesabının bağlı hizmetine başvuru. Bu yalnızca eşleme veri akışında Hive bağlı hizmeti kullanılırken gereklidir No

Örnek:

{
    "name": "HiveLinkedService",
    "properties": {
        "type": "Hive",
        "typeProperties": {
            "host" : "<cluster>.azurehdinsight.net",
            "port" : "<port>",
            "authenticationType" : "WindowsAzureHDInsightService",
            "username" : "<username>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            }
        }
    }
}

Veri kümesi özellikleri

Veri kümelerini tanımlamaya uygun bölümlerin ve özelliklerin tam listesi için veri kümeleri makalesine bakın. Bu bölümde Hive veri kümesi tarafından desteklenen özelliklerin bir listesi yer almaktadır.

Hive'dan veri kopyalamak için veri kümesi tür özelliğini HiveObject olarak ayarlayın. Aşağıdaki özellikler de kullanılabilir:

Özellik Açıklama Gerekli
tür Veri kümesi tür özelliği şu şekilde ayar olmalıdır: HiveObject Yes
schema Şemanın adı. Hayır (etkinlik kaynağında "sorgu" belirtilirse)
tablo Tablonun adı. Hayır (etkinlik kaynağında "sorgu" belirtilirse)
tableName Şema bölümü dahil olmak üzere tablonun adı. Bu özellik geriye dönük uyumluluk için de desteklemektedir. Yeni iş yükü için ve schema table kullanın. Hayır (etkinlik kaynağında "sorgu" belirtilirse)

Örnek

{
    "name": "HiveDataset",
    "properties": {
        "type": "HiveObject",
        "typeProperties": {},
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<Hive linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

Kopyalama etkinliğinin özellikleri

Etkinlik tanımlamaya yönelik bölümlerin ve özelliklerin tam listesi için bkz. Pipelines. Bu bölümde Hive kaynağı tarafından desteklenen özelliklerin bir listesi yer almaktadır.

Kaynak olarak HiveSource

Hive'dan veri kopyalamak için kopyalama etkinliğinde kaynak türünü HiveSource olarak ayarlayın. Kopyalama etkinliği kaynağı bölümünde aşağıdaki özellikler de kullanılabilir:

Özellik Açıklama Gerekli
tür Kopyalama etkinliği kaynağının type özelliği şu şekilde ayar olmalıdır: HiveSource Yes
sorgu Verileri okumak için SQL sorgusunu kullanın. Örneğin: "SELECT * FROM MyTable". Hayır (veri kümesinde "tableName" belirtilirse)

Örnek:

"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>"
            }
        }
    }
]

Eşleme veri akışı özellikleri

Hive bağlayıcısı, eşleme veri akışlarında satır içi veri kümesi kaynağı olarak debiçilir. HdInsight'ta sorgu kullanarak veya doğrudan Hive tablosundan okuma. Hive verileri, veri akışının bir parçası olarak dönüştürülmeden önce bir depolama hesabında parquet dosyaları olarak kullanılır.

Kaynak özellikleri

Aşağıdaki tabloda hive kaynağı tarafından desteklenen özellikler listelenmiştir. Bu özellikleri Kaynak seçenekleri sekmesinde düzenleyebilirsiniz.

Ad Açıklama Gerekli İzin verilen değerler Veri akışı betik özelliği
Depolama Mağaza şu şekildedir: hive evet hive mağaza
Biçimlendir İster bir tablodan ister sorgudan okuyarak evet table veya query biçim
Şema adı Bir tablodan okuyorsanız, kaynak tablonun şeması evet, biçim ise table Dize Schemaname
Tablo adı Bir tablodan okuyorsanız tablo adı evet, biçim ise table Dize tableName
Sorgu Biçim query ise, Hive bağlı hizmetteki kaynak sorgu evet, biçim ise query Dize sorgu
Aşamalı Hive tablosu her zaman aşamalıdır. evet true Aşamalı
Depolama Kapsayıcı Depolama Hive'dan okumadan veya Hive'a yazmadan önce verileri aşamalı olarak yapmak için kullanılan kapsayıcıdır. Hive kümesi bu kapsayıcıya erişime sahip olmalıdır. evet Dize storageContainer
Hazırlama veritabanı Bağlı hizmette belirtilen kullanıcı hesabının erişimi olduğu şema/veritabanı. Hazırlama sırasında dış tablolar oluşturmak için kullanılır ve daha sonra bırakılır hayır true veya false stagingDatabaseName
Ön SQL Betikleri SQL okumadan önce Hive tablosunda çalıştıracak kodu çalıştırma hayır Dize preSQLs

Kaynak örneği

Hive kaynak yapılandırmasına bir örnek aşağıda verilmiştir:

Hive kaynağı örneği

Bu ayarlar aşağıdaki veri akışı betiğine çeviri yapar:

source(
    allowSchemaDrift: true,
    validateSchema: false,
    ignoreNoFilesFound: false,
    format: 'table',
    store: 'hive',
    schemaName: 'default',
    tableName: 'hivesampletable',
    staged: true,
    storageContainer: 'khive',
    storageFolderPath: '',
    stagingDatabaseName: 'default') ~> hivesource

Bilinen sınırlamalar

  • Diziler, Haritalar, yapılar ve birleşimler gibi karmaşık türler okuma için desteklenmez.
  • Hive Bağlayıcısı yalnızca sürüm 4,0 veya üzeri Azure HDInsight 'ta Hive tablolarını destekler (Apache Hive 3.1.0)

Arama etkinliği özellikleri

Özelliklerle ilgili ayrıntıları öğrenmek için arama etkinliğinidenetleyin.

Sonraki adımlar

Kopyalama etkinliği tarafından kaynak ve havuz olarak desteklenen veri depolarının listesi için bkz. desteklenen veri depoları.