Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu öğreticide, Azure Data Factory kullanarak Azure HDInsight'ta isteğe bağlı bir Apache Hadoop kümesi oluşturmayı öğreneceksiniz. Ardından Hive işlerini çalıştırmak ve kümeyi silmek için Azure Data Factory'deki veri işlem hatlarını kullanırsınız. Bu öğreticinin sonunda, küme oluşturma, iş çalıştırma ve küme silme işlemlerinin zamanlamaya göre yapıldığı operationalize büyük veri işini nasıl çalıştıracağınızı öğreneceksiniz.
Bu rehber aşağıdaki görevleri kapsar:
- Azure Depolama hesabı oluşturma
- Azure Data Factory etkinliğini anlama
- Azure portalını kullanarak veri fabrikası oluşturma
- Bağlı hizmetler oluşturma
- Boru hattı oluştur
- İşlem hattını tetikleme
- İşlem hattını izleme
- Çıktıyı doğrulama
Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
Önkoşullar
PowerShell Az Modülü yüklü.
Microsoft Entra hizmet sorumlusu. Hizmet sorumlusunu oluşturduktan sonra, bağlı makaledeki yönergeleri kullanarak uygulama kimliğini ve kimlik doğrulama anahtarını almayı unutmayın. Bu öğreticinin ilerleyen bölümlerinde bu değerlere ihtiyacınız vardır. Ayrıca, hizmet sorumlusunun aboneliğin Katkıda Bulunan rolünün veya kümenin oluşturulduğu kaynak grubunun üyesi olduğundan emin olun. Gerekli değerleri alma ve doğru rolleri atama yönergeleri için bkz. Microsoft Entra hizmet sorumlusu oluşturma.
Ön Azure nesneleri oluşturma
Bu bölümde, isteğe bağlı olarak oluşturduğunuz HDInsight kümesi için kullanılacak çeşitli nesneler oluşturacaksınız. Oluşturulan depolama hesabı, partitionweblogs.hqlkümede çalışan örnek bir Apache Hive işinin benzetimini yapmak için kullandığınız örnek HiveQL betiğini içerir.
Bu bölümde, depolama hesabını oluşturmak ve depolama hesabı içindeki gerekli dosyaların üzerine kopyalamak için bir Azure PowerShell betiği kullanılır. Bu bölümde yer alan Azure PowerShell örnek komut dosyası aşağıdaki görevleri yerine getirir:
- Azure'da oturum açar.
- Bir Azure kaynak grubu oluşturur.
- Azure Depolama hesabı oluşturur.
- Depolama hesabında blob kapsayıcısı oluşturur
- Örnek HiveQL betiğini (partitionweblogs.hql) Blob kapsayıcısına kopyalar. Örnek betik başka bir genel Blob kapsayıcısında zaten kullanılabilir. Aşağıdaki PowerShell betiği, bu dosyaların bir kopyasını oluşturduğu Azure Depolama hesabına kopyalar.
Depolama hesabı oluşturma ve dosyaları kopyalama
Önemli
Betik tarafından oluşturulacak Azure kaynak grubunun ve Azure depolama hesabının adlarını belirtin. Betik tarafından çıktısı alınan kaynak grubu adını, depolama hesabı adını ve depolama hesabı anahtarını not edin. Sonraki bölümde bunlara ihtiyacınız olacak.
$resourceGroupName = "<Azure Resource Group Name>"
$storageAccountName = "<Azure Storage Account Name>"
$location = "East US"
$sourceStorageAccountName = "hditutorialdata"
$sourceContainerName = "adfv2hiveactivity"
$destStorageAccountName = $storageAccountName
$destContainerName = "adfgetstarted" # don't change this value.
####################################
# Connect to Azure
####################################
#region - Connect to Azure subscription
Write-Host "`nConnecting to your Azure subscription ..." -ForegroundColor Green
$sub = Get-AzSubscription -ErrorAction SilentlyContinue
if(-not($sub))
{
Connect-AzAccount
}
# If you have multiple subscriptions, set the one to use
# Select-AzSubscription -SubscriptionId "<SUBSCRIPTIONID>"
#endregion
####################################
# Create a resource group, storage, and container
####################################
#region - create Azure resources
Write-Host "`nCreating resource group, storage account and blob container ..." -ForegroundColor Green
New-AzResourceGroup `
-Name $resourceGroupName `
-Location $location
New-AzStorageAccount `
-ResourceGroupName $resourceGroupName `
-Name $destStorageAccountName `
-Kind StorageV2 `
-Location $location `
-SkuName Standard_LRS `
-EnableHttpsTrafficOnly 1
$destStorageAccountKey = (Get-AzStorageAccountKey `
-ResourceGroupName $resourceGroupName `
-Name $destStorageAccountName)[0].Value
$sourceContext = New-AzStorageContext `
-StorageAccountName $sourceStorageAccountName `
-Anonymous
$destContext = New-AzStorageContext `
-StorageAccountName $destStorageAccountName `
-StorageAccountKey $destStorageAccountKey
New-AzStorageContainer `
-Name $destContainerName `
-Context $destContext
#endregion
####################################
# Copy files
####################################
#region - copy files
Write-Host "`nCopying files ..." -ForegroundColor Green
$blobs = Get-AzStorageBlob `
-Context $sourceContext `
-Container $sourceContainerName `
-Blob "hivescripts\hivescript.hql"
$blobs|Start-AzStorageBlobCopy `
-DestContext $destContext `
-DestContainer $destContainerName `
-DestBlob "hivescripts\partitionweblogs.hql"
Write-Host "`nCopied files ..." -ForegroundColor Green
Get-AzStorageBlob `
-Context $destContext `
-Container $destContainerName
#endregion
Write-host "`nYou will use the following values:" -ForegroundColor Green
write-host "`nResource group name: $resourceGroupName"
Write-host "Storage Account Name: $destStorageAccountName"
write-host "Storage Account Key: $destStorageAccountKey"
Write-host "`nScript completed" -ForegroundColor Green
Depolama hesabını doğrulama
- Azure portalında oturum açın.
- Soldan Tüm hizmetler>Genel>Kaynak grupları'na gidin.
- PowerShell betiğinizde oluşturduğunuz kaynak grubu adını seçin. Listede çok fazla kaynak grubu varsa filtreyi kullanın.
- Genel Bakış görünümünde, kaynak grubunu diğer projelerle paylaşmadığınız sürece bir kaynağın listelendiğini görürsünüz. Bu kaynak, daha önce belirttiğiniz ada sahip depolama hesabıdır. Depolama hesabı adını seçin.
- Kapsayıcılar kutucuğunu seçin.
-
adfgetstarted kapsayıcısını seçin. adlı
hivescriptsbir klasör görürsünüz. - Klasörü açın ve partitionweblogs.hql adlı örnek betik dosyasını içerdiğinden emin olun.
Azure Data Factory etkinliğini anlama
Azure Data Factory , verilerin taşınmasını ve dönüştürülmesi işlemlerini düzenler ve otomatikleştirir. Azure Data Factory, bir giriş veri dilimini işlemek ve işlem tamamlandığında kümeyi silmek için tam zamanında bir HDInsight Hadoop kümesi oluşturabilir.
Azure Data Factory'de bir veri fabrikasında bir veya daha fazla veri işlem hattı olabilir. Veri işlem hattında bir veya daha fazla etkinlik vardır. İki tür etkinlik vardır:
- Veri Taşıma Etkinlikleri. Verileri bir kaynak veri deposundan hedef veri deposuna taşımak için veri taşıma etkinliklerini kullanırsınız.
- Veri Dönüştürme Etkinlikleri. Verileri dönüştürmek/işlemek için veri dönüştürme etkinliklerini kullanırsınız. HDInsight Hive Etkinliği, Data Factory tarafından desteklenen dönüştürme etkinliklerinden biridir. Bu öğreticide Hive dönüştürme etkinliğini kullanırsınız.
Bu makalede Hive etkinliğini isteğe bağlı HDInsight Hadoop kümesi oluşturacak şekilde yapılandıracaksınız. Etkinlik verileri işlemek için çalıştırıldığında şunlar olur:
Dilimi tam zamanında işlemeniz için otomatik olarak bir HDInsight Hadoop kümesi oluşturulur.
Giriş verileri, kümede bir HiveQL betiği çalıştırılarak işlenir. Bu öğreticide, hive etkinliğiyle ilişkili HiveQL betiği aşağıdaki işlemleri gerçekleştirir:
- Başka bir HiveSampleOut tablosu oluşturmak için mevcut tabloyu ( hivesampletable) kullanır.
- HiveSampleOut tablosunu yalnızca özgün hivesampletable'dan belirli sütunlarla doldurur.
HDInsight Hadoop kümesi, işlem tamamlandıktan sonra silinir ve küme yapılandırılan süre boyunca boşta kalır (timeToLive ayarı). Sonraki veri dilimi, timeToLive içinde kalan bu boş süre zarfında işlenmek üzere hazırsa, dilimi işlemek için aynı küme kullanılır.
Veri fabrikası oluşturma
Azure portalınaoturum açın.
Sol menüden
+ Create a resource>Data Factory'ye> gidin.
Yeni veri fabrikası kutucuğu için aşağıdaki değerleri girin veya seçin:
Mülkiyet Değer İsim Veri fabrikası için bir ad girin. Bu ad genel olarak benzersiz olmalıdır. Sürüm V2'den ayrıl. Subscription Azure aboneliğinizi seçin. Kaynak grubu PowerShell betiğini kullanarak oluşturduğunuz kaynak grubunu seçin. Yer Konum, daha önce kaynak grubunu oluştururken belirttiğiniz konuma otomatik olarak ayarlanır. Bu öğretici için konum Doğu ABD olarak ayarlanmıştır. GIT'i etkinleştirme Bu kutunun işaretini kaldırın.
Oluştur'i seçin. Veri fabrikası oluşturmak 2 ila 4 dakika arasında sürebilir.
Veri fabrikası oluşturulduktan sonra Kaynağa git düğmesiyle dağıtım başarılı bildirimi alırsınız. Data Factory varsayılan görünümünü açmak için Kaynağa git'i seçin.
Azure Data Factory yazma ve izleme portalını başlatmak için Yazar ve İzleyici'yi seçin.
Bağlı hizmetler oluşturma
Bu bölümde, veri fabrikanızda iki bağlı hizmet oluşturacaksınız.
- Bir Azure depolama hesabını veri fabrikasına bağlayan Azure Depolama bağlı hizmeti. Bu depolama alanı, isteğe bağlı HDInsight kümesi tarafından kullanılır. Ayrıca kümede çalıştırılacak Hive betiğini de içerir.
- İsteğe bağlı HDInsight bağlı hizmeti. Azure Data Factory otomatik olarak bir HDInsight kümesi oluşturur ve Hive betiğini çalıştırır. Daha sonra, küme önceden yapılandırılmış bir süre boyunca boşta kaldığında HDInsight kümesini siler.
Azure Depolama için bağlı hizmet oluşturun
Başlayalım sayfasının sol bölmesinde Yazar simgesini seçin.
Pencerenin sol alt köşesinden Bağlantılar'ı ve ardından +Yeni'yi seçin.
Yeni Bağlı Hizmet iletişim kutusunda Azure Blob Depolama'yı ve ardından Devam'ı seçin.
Depolama bağlı hizmeti için aşağıdaki değerleri sağlayın:
Mülkiyet Değer İsim HDIStorageLinkedServicegirin.Azure aboneliği Açılan listeden aboneliğinizi seçin. Depolama hesabı adı PowerShell betiğinin bir parçası olarak oluşturduğunuz Azure Depolama hesabını seçin. Bağlantıyı test et'i ve başarılı olursa Oluştur'u seçin.
İsteğe bağlı bir HDInsight bağlı hizmeti oluşturma
Başka bir bağlı hizmet oluşturmak için + Yeni düğmesini tekrar seçin.
Yeni Bağlı Hizmet penceresinde İşlem sekmesini seçin.
Azure HDInsight'ı ve ardından Devam'ı seçin.
Yeni Bağlı Hizmet penceresinde aşağıdaki değerleri girin ve kalan değerleri varsayılan olarak bırakın:
Mülkiyet Değer İsim HDInsightLinkedServicegirin.Türü İsteğe bağlı HDInsight'ı seçin. Azure Depolama Bağlı Hizmeti HDIStorageLinkedServiceseçin.Küme türü Hadoop seçeneğini belirleyin Yaşam süresi HDInsight kümesinin otomatik olarak silinmeden önce kullanılabilir olmasını istediğiniz süreyi belirtin. Hizmet sorumlusu kimliği Önkoşulların bir parçası olarak oluşturduğunuz Microsoft Entra hizmet sorumlusunun uygulama kimliğini belirtin. Hizmet sorumlusu anahtarı Microsoft Entra hizmet sorumlusu için kimlik doğrulama anahtarını sağlayın. Küme adı ön eki Veri fabrikası tarafından oluşturulan tüm küme türlerine ön ek olarak eklenecek bir değer sağlayın. Subscription Açılan listeden aboneliğinizi seçin. Kaynak grubunu seçin Daha önce kullandığınız PowerShell betiğinin bir parçası olarak oluşturduğunuz kaynak grubunu seçin. İşletim sistemi türü/Küme SSH kullanıcı adı Yaygın olarak sshuserbir SSH kullanıcı adı girin.İşletim sistemi türü/Küme SSH parolası SSH kullanıcısı için parola belirtin İşletim sistemi türü/Küme kullanıcı adı Genellikle adminbir küme kullanıcı adı girin.İşletim sistemi türü/Küme parolası Küme kullanıcısı için bir parola girin. Ardından Oluştur'u seçin.
Boru hattı oluştur
+ (artı) düğmesini seçin ve ardından Boru Hattı seçin.
Etkinlikler araç kutusunda HDInsight'ı genişletin ve Hive etkinliğini işlem hattı tasarımcısının yüzeyine sürükleyin. Genel sekmesinde etkinlik için bir ad belirtin.
Hive etkinliğini seçtiğinizden emin olun, HDI Kümesi sekmesini seçin. HDInsight Bağlı Hizmeti açılan listesinden, HDInsight için daha önce oluşturduğunuz bağlı hizmeti ( HDInsightLinkedService) seçin.
Betik sekmesini seçin ve aşağıdaki adımları tamamlayın:
Betik Bağlı Hizmeti için HDIStorageLinkedService öğesini açılır menüden seçin. Bu değer, daha önce oluşturduğunuz depolama bağlı hizmetidir.
Dosya Yolu için Depolamaya Gözat'ı seçin ve örnek Hive betiğinin kullanılabildiği konuma gidin. Daha önce PowerShell betiğini çalıştırdıysanız, bu konum olmalıdır
adfgetstarted/hivescripts/partitionweblogs.hql.
Gelişmiş>Parametreler altında
Auto-fill from scriptöğesini seçin. Bu seçenek, Hive betiğinde çalışma zamanında değer gerektiren parametreleri arar.Değer metin kutusunda, var olan klasörü biçiminde
wasbs://adfgetstarted@<StorageAccount>.blob.core.windows.net/outputfolder/ekleyin. Bu yol büyük/küçük harfe duyarlıdır. Bu yol, komut dosyasının çıktısının saklanacağı yerdir. Depolamawasbshesaplarında artık varsayılan olarak etkin güvenli aktarım gerektiğinden şema gereklidir.
İşlem hattını doğrulamak için Doğrula'yı seçin. Doğrulama penceresini kapatmak için >> (sağ ok) düğmesini seçin.
Son olarak, yapıtları Azure Data Factory'de yayımlamak için Tümünü Yayımla'yı seçin.
İşlem hattını tetikleme
Araç çubuğunda, tasarımcı yüzeyinde Tetikleyici Ekle> seçin ve Şimdi Tetikleyici seçeneğine tıklayın.
Açılır yan çubukta Tamam'ı seçin.
İşlem hattını izleme
Soldaki İzleyici sekmesine geçin. İşlem Hattı Çalıştırmaları listesinde bir işlem hattı çalıştırması görürsünüz. Durum sütunundaki çalıştırmanın durumunu kontrol edin.
Durumu yenilemek için Yenile'yi seçin.
İşlem hattıyla ilişkili etkinlik çalıştırmasını görmek için Etkinlik Çalıştırmalarını Görüntüle simgesini de seçebilirsiniz. Oluşturduğunuz işlem hattında yalnızca bir etkinlik bulunduğundan, aşağıdaki ekran görüntüsünde yalnızca bir etkinlik görürsünüz. Önceki görünüme geri dönmek için sayfanın üst kısmındaki İşlem hatları'nı seçin.
Çıktıyı doğrulama
Çıktıyı doğrulamak için Azure portalında bu öğretici için kullandığınız depolama hesabına gidin. Aşağıdaki klasörleri veya kapsayıcıları görmeniz gerekir:
İşlem hattının parçası olarak çalıştırılan Hive betiğinin çıkışını içeren bir adfgerstarted/outputfolder görürsünüz.
adfhdidatafactory-linked-service-name-timestamp<><> adlı bir kapsayıcı görüyorsunuz. Bu kapsayıcı, işlem hattı çalıştırmasının bir parçası olarak oluşturulan HDInsight kümesinin varsayılan depolama konumudur.
Azure Data Factory görev günlüklerine sahip olan adfjobs kapsayıcısını görürsünüz.
Kaynakları temizle
İsteğe bağlı HDInsight kümesi oluşturma işleminde HDInsight kümesini açıkça silmeniz gerekmez. Küme, işlem hattını oluştururken sağladığınız yapılandırmaya göre silinir. Küme silindikten sonra bile, kümeyle ilişkili depolama hesapları varolmaya devam eder. Bu davranış, verilerinizin bozulmaması için tasarım gereğidir. Ancak, verileri kalıcı hale getirmek istemiyorsanız, oluşturduğunuz depolama hesabını silebilirsiniz.
Ya da bu öğretici için oluşturduğunuz kaynak grubunun tamamını silebilirsiniz. Bu işlem, oluşturduğunuz depolama hesabını ve Azure Data Factory'yi siler.
Kaynak grubunu silme
Azure portalında oturum açın.
Sol bölmede Kaynak grupları'nı seçin.
PowerShell betiğinizde oluşturduğunuz kaynak grubu adını seçin. Listede çok fazla kaynak grubu varsa filtreyi kullanın. Kaynak grubunu açar.
Kaynaklar kutucuğunda, kaynak grubunu diğer projelerle paylaşmadığınız sürece varsayılan depolama hesabı ve veri fabrikası listelenir.
Kaynak grubunu sil seçeneğini seçin. Bunu yaptığınızda depolama hesabı ve depolama hesabında depolanan veriler silinir.
Silme işlemini onaylamak için kaynak grubu adını girin ve sil'i seçin.
Sonraki Adımlar
Bu makalede azure data factory kullanarak isteğe bağlı HDInsight kümesi oluşturmayı ve Apache Hive işlerini çalıştırmayı öğrendiniz. Özel yapılandırmayla HDInsight kümeleri oluşturmayı öğrenmek için sonraki makaleye ilerleyin.