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.
ŞUNLARA UYGULANIR:
Azure Data Factory
Azure Synapse Analytics
İpucu
Microsoft Fabric'daki
Bu makalede Hadoop Dağıtılmış Dosya Sistemi (HDFS) sunucusundan verilerin nasıl kopyalandığı özetlenmiştir. Daha fazla bilgi edinmek için Azure Data Factory ve Synapse Analytics giriş makalelerini okuyun.
Not
Bu bağlayıcı Microsoft Fabric'daki Data Factory'de de kullanılabilir. Fabric özgü yapılandırma ve özellikler için HDFS bağlayıcısı Fabric belgelerine bakın.
Desteklenen özellikler
Bu HDFS bağlayıcısı aşağıdaki özellikler için desteklenir:
| Desteklenen özellikler | Kızılötesi |
|---|---|
| Kopyalama etkinliği (kaynak/-) | (1) (2) |
| Arama etkinliği | (1) (2) |
| Etkinliği sil | (1) (2) |
(1) Azure tümleştirme çalışma zamanı (2) Yerel barındırılan tümleştirme çalışma zamanı
Özellikle, HDFS bağlayıcısı şunları destekler:
- Windows (Kerberos) veya Anonymous kimlik doğrulaması kullanarak dosyaları kopyalama.
- Webhdfs protokolunu veya yerleşik DistCp desteğini kullanarak dosyaları kopyalama.
- Desteklenen dosya biçimleri ve sıkıştırma codec bileşenleriyle dosyaları olduğu gibi kopyalama veya ayrıştırma ya da oluşturma.
Önkoşullar
Veri deponuz bir yerel ağ, Azure sanal ağ veya Amazon Sanal Özel Bulut içinde bulunuyorsa, ona bağlanmak için kendinden barındırılan bir tümleştirme çalışma zamanı yapılandırmanız gerekir.
Veri deponuz yönetilen bir bulut veri hizmetiyse Azure Integration Runtime kullanabilirsiniz. Erişim, güvenlik duvarı kurallarında onaylanan IP'ler ile sınırlıysa, izin verme listesine Azure Integration Runtime IP ekleyebilirsiniz.
Şirket içi ağa erişmek için, şirket içinde barındırılan tümleştirme çalışma zamanı yüklemeden ve yapılandırmadan Azure Data Factory yönetilen sanal ağ tümleştirme çalışma zamanı özelliğini de kullanabilirsiniz.
Data Factory tarafından desteklenen ağ güvenlik mekanizmaları ve seçenekleri hakkında daha fazla bilgi için bkz . Veri erişim stratejileri.
Not
Tümleştirme çalışma zamanının Hadoop kümesinin tüm [ad düğümü sunucusu]:[ad düğümü bağlantı noktası] ve [veri düğümü sunucuları]:[veri düğümü bağlantı noktası] öğesine erişebildiğinden emin olun. Varsayılan [ad düğümü bağlantı noktası] 50070 ve varsayılan [veri düğümü bağlantı noktası] 50075'tir.
Kullanmaya başlayın
Kopyalama etkinliğini bir işlem hattıyla gerçekleştirmek için aşağıdaki araçlardan veya SDK'lardan birini kullanabilirsiniz:
- Veri Kopyalama aracı
- Azure portalı
- .NET SDK
- Python SDK'sı
- Azure PowerShell
- REST API'si
- Azure Resource Manager şablonu
Kullanıcı arabirimini kullanarak HDFS'ye bağlı hizmet oluşturma
Azure portalı kullanıcı arabiriminde HDFS'ye bağlı bir hizmet oluşturmak için aşağıdaki adımları kullanın.
Azure Data Factory veya Synapse çalışma alanınızda Yönet sekmesine gidin ve Bağlı Hizmetler'i ve ardından Yeni'yi seçin:
HDFS'yi arayın ve HDFS bağlayıcısını seçin.
Hizmet ayrıntılarını yapılandırın, bağlantıyı test edin ve yeni bağlı hizmeti oluşturun.
Bağlayıcı yapılandırma ayrıntıları
Aşağıdaki bölümlerde, HDFS'ye özgü Data Factory varlıklarını tanımlamak için kullanılan özelliklerle ilgili ayrıntılar sağlanır.
Bağlı hizmet özellikleri
HDFS bağlı hizmeti için aşağıdaki özellikler desteklenir:
| Özellik | Açıklama | Gerekli |
|---|---|---|
| Tip | tür özelliği Hdfs olarak ayarlanmalıdır. | Yes |
| url | HDFS URL'si | Yes |
| kimlik doğrulama türü | İzin verilen değerler Anonymous veya Windows'dır. Şirket içi ortamınızı ayarlamak için HDFS bağlayıcısı için Kerberos kimlik doğrulamasını kullanma bölümüne bakın. |
Yes |
| userName | Windows kimlik doğrulaması kullanıcı adı. Kerberos kimlik doğrulaması için <kullanıcı adı>@<alan adı>.com. | Evet (Windows authentication için) |
| şifre | Windows authentication parolası. Bu alanı güvenli bir şekilde depolamak için SecureString olarak işaretleyin veya bir Azure Key Vault'ta depolanan bir sırrı referans alın. | Evet (Windows Kimlik Doğrulaması için) |
| connectVia | Veri deposuna bağlanmak için kullanılacak tümleştirme çalışma zamanı . Daha fazla bilgi edinmek için Önkoşullar bölümüne bakın. integration runtime belirtilmezse, hizmet varsayılan Azure Integration Runtime kullanır. | Hayır |
Örnek: Anonim kimlik doğrulaması kullanma
{
"name": "HDFSLinkedService",
"properties": {
"type": "Hdfs",
"typeProperties": {
"url" : "http://<machine>:50070/webhdfs/v1/",
"authenticationType": "Anonymous",
"userName": "hadoop"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Örnek: Windows kimlik doğrulamasını kullanma
{
"name": "HDFSLinkedService",
"properties": {
"type": "Hdfs",
"typeProperties": {
"url" : "http://<machine>:50070/webhdfs/v1/",
"authenticationType": "Windows",
"userName": "<username>@<domain>.com (for Kerberos auth)",
"password": {
"type": "SecureString",
"value": "<password>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Veri kümesi özellikleri
Veri kümelerini tanımlamak için kullanılabilen bölümlerin ve özelliklerin tam listesi için bkz . Veri kümeleri.
Azure Data Factory aşağıdaki dosya biçimlerini destekler. Biçim tabanlı ayarlar için her makaleye bakın.
- Avro biçimi
- İkili biçim
- Sınırlandırılmış metin biçimi
- Excel biçimi
- JSON biçimi
- ORC biçimi
- Parquet biçimi
- XML biçimi
Aşağıdaki özellikler, biçim tabanlı veri kümesindeki ayarlar altında location HDFS için desteklenir:
| Özellik | Açıklama | Gerekli |
|---|---|---|
| Tip |
type özelliği veriseti içindeki locationHdfsLocation olarak ayarlanmalıdır. |
Yes |
| folderPath | Klasörün yolu. Klasörü filtrelemek için joker karakter kullanmak istiyorsanız, bu ayarı atlayın ve etkinlik kaynağı ayarlarında yolu belirtin. | Hayır |
| dosyaAdı | Belirtilen folderPath altındaki dosya adı. Dosyaları filtrelemek için joker karakter kullanmak istiyorsanız, bu ayarı atlayın ve etkinlik kaynağı ayarlarında dosya adını belirtin. | Hayır |
Örnek:
{
"name": "DelimitedTextDataset",
"properties": {
"type": "DelimitedText",
"linkedServiceName": {
"referenceName": "<HDFS linked service name>",
"type": "LinkedServiceReference"
},
"schema": [ < physical schema, optional, auto retrieved during authoring > ],
"typeProperties": {
"location": {
"type": "HdfsLocation",
"folderPath": "root/folder/subfolder"
},
"columnDelimiter": ",",
"quoteChar": "\"",
"firstRowAsHeader": true,
"compressionCodec": "gzip"
}
}
}
Kopyalama etkinliği özellikleri
Etkinlikleri tanımlamak için kullanılabilen bölümlerin ve özelliklerin tam listesi için bkz İşlem hatları ve etkinlikler. Bu bölümde, HDFS kaynağı tarafından desteklenen özelliklerin listesi sağlanır.
Kaynak olarak HDFS
Azure Data Factory aşağıdaki dosya biçimlerini destekler. Biçim tabanlı ayarlar için her makaleye bakın.
- Avro biçimi
- İkili biçim
- Sınırlandırılmış metin biçimi
- Excel biçimi
- JSON biçimi
- ORC biçimi
- Parquet biçimi
- XML biçimi
Aşağıdaki özellikler, biçim tabanlı Kopyalama kaynağındaki ayarlar altında storeSettings HDFS için desteklenir:
| Özellik | Açıklama | Gerekli |
|---|---|---|
| Tip |
altındaki storeSettings özelliği HdfsReadSettings olarak ayarlanmalıdır. |
Yes |
| Kopyalanacak dosyaları bulma | ||
| SEÇENEK 1: statik yol |
Veri kümesinde belirtilen klasörden veya dosya yolundan kopyalayın. Bir klasörden tüm dosyaları kopyalamak istiyorsanız, ek olarak wildcardFileNameolarak belirtin*. |
|
| SEÇENEK 2: joker karakter - wildcardFolderPath |
Kaynak klasörleri filtrelemek için joker karakterler içeren klasör yolu. İzin verilen joker karakterler şunlardır: * (sıfır veya daha fazla karakterle eşleşir) ve ? (sıfır veya tek karakterle eşleşir). Eğer gerçek klasör adınızda bir joker karakter veya kaçış karakteri varsa, kaçış yapmak için ^ kullanın. Daha fazla örnek için bkz . Klasör ve dosya filtresi örnekleri. |
Hayır |
| SEÇENEK 2: joker karakter - wildcardDosyaAdı |
Kaynak dosyaları filtrelemek için belirtilen folderPath/wildcardFolderPath altında joker karakterler içeren dosya adı. İzin verilen joker karakterler şunlardır: * (sıfır veya daha fazla karakterle eşleşir) ve ? (sıfır veya tek karakterle eşleşir); gerçek dosya adınızın içinde joker karakter veya bu kaçış karakteri varsa kaçış için kullanın ^ . Daha fazla örnek için bkz . Klasör ve dosya filtresi örnekleri. |
Yes |
| SEÇENEK 3: dosyaların listesi - fileListPath |
Belirtilen dosya kümesinin kopyalandığını gösterir. Kopyalamak istediğiniz dosyaların listesini içeren bir metin dosyasının üzerine gelin (satır başına bir dosya, veri kümesinde yapılandırılmış yolun göreli yolu). Bu seçeneği kullandığınızda, veri kümesinde dosya adı belirtmeyin. Daha fazla örnek için bkz . Dosya listesi örnekleri. |
Hayır |
| Ek ayarlar | ||
| Özyinelemeli | Verilerin alt klasörlerden veya yalnızca belirtilen klasörden özyinelemeli olarak okunup okunmadığını gösterir.
recursive true olarak ayarlandığında ve havuz dosya tabanlı bir depo olduğunda, havuza boş bir klasör veya alt klasör kopyalanır veya oluşturulmaz. İzin verilen değerler true (varsayılan) ve false değerleridir. Bu özelliği fileListPath yapılandırdığınızda geçerli değildir. |
Hayır |
| TamamlandıktanSonraDosyalarıSil | hedef depoya başarıyla taşındıktan sonra ikili dosyaların kaynak depodan silinip silinmeyeceğini gösterir. Dosya silme işlemi dosya başınadır, bu nedenle kopyalama etkinliği başarısız olduğunda bazı dosyaların hedefe kopyalandığını ve kaynaktan silindiğini, diğerleri ise kaynak depoda kaldığını görürsünüz. Bu özellik yalnızca ikili dosya kopyalama senaryosunda geçerlidir. Varsayılan değer: false. |
Hayır |
| değiştirilmişTarihSaatBaşlangıç | Dosyalar, Son Değiştirme Tarihi özniteliğine göre filtrelenir. Dosyalar, son değiştirme süreleri değerinden büyük veya buna eşit modifiedDatetimeStart ve değerinden modifiedDatetimeEndküçükse seçilir. Saat UTC saat dilimine 2018-12-01T05:00:00Z biçiminde uygulanır. Özellikler NULL olabilir; başka bir deyişle veri kümesine hiçbir dosya özniteliği filtresi uygulanmaz. Bir datetime değeri olduğunda modifiedDatetimeStart ancak modifiedDatetimeEnd NULL olduğunda, son değiştirilen özniteliği datetime değerinden büyük veya buna eşit olan dosyaların seçildiği anlamına gelir. Tarih saat değeri olduğunda modifiedDatetimeEnd ancak modifiedDatetimeStart NULL olduğunda, son değiştirilen özniteliği datetime değerinden küçük olan dosyaların seçili olduğu anlamına gelir.Bu özelliği fileListPath yapılandırdığınızda geçerli değildir. |
Hayır |
| değişiklikTarihSaatiSonu | Yukarıdakiyle aynıdır. | |
| Bölüm Keşfini Etkinleştir | Bölümlenmiş dosyalar için, bölümlerin dosya yolundan ayrıştırılıp ayrıştırılmayacağını belirtin ve bunları ek kaynak sütunlar olarak ekleyin. İzin verilen değerler false (varsayılan) ve true değerleridir. |
Hayır |
| partitionRootPath | Bölüm bulma etkinleştirildiğinde, bölümlenmiş klasörleri veri sütunları olarak okumak için mutlak kök yolu belirtin. Belirtilmezse, varsayılan olarak - Veri kümesinde dosya yolunu veya kaynaktaki dosyaların listesini kullandığınızda, bölüm kök yolu veri kümesinde yapılandırılan yoldur. - Joker karakter klasör filtresi kullandığınızda, bölüm kök yolu ilk joker karakterden önceki alt yoldur. Örneğin, veri kümesindeki yolu "root/folder/year=2020/month=08/day=27" olarak yapılandırdığınız varsayılır: - Bölüm kök yolunu "root/folder/year=2020" olarak belirtirseniz kopyalama etkinliği, dosyaların içindeki sütunlara ek olarak sırasıyla "08" ve "27" değerine sahip iki sütun monthday daha oluşturur.- Bölüm kök yolu belirtilmezse ek sütun oluşturulmaz. |
Hayır |
| Maksimum Eşzamanlı Bağlantılar | Etkinlik çalıştırması sırasında veri deposuna kurulan eş zamanlı bağlantıların üst sınırı. Yalnızca eşzamanlı bağlantıları sınırlamak istediğinizde bir değer belirtin. | Hayır |
| DistCp ayarları | ||
| distcpSettings | HDFS DistCp kullanırken kullanılacak özellik grubu. | Hayır |
| kaynakYöneticisiUçNoktası | YARN (Başka Bir Kaynak Müzakerecisi) uç noktası | Evet, DistCp kullanılıyorsa |
| tempScriptPath | Temp DistCp komut betiğini depolamak için kullanılan klasör yolu. Komut dosyası oluşturulur ve Kopyalama işi tamamlandıktan sonra kaldırılır. | Evet, DistCp kullanılıyorsa |
| distcpOptions | DistCp komutuna sağlanan ek seçenekler. | Hayır |
Örnek:
"activities":[
{
"name": "CopyFromHDFS",
"type": "Copy",
"inputs": [
{
"referenceName": "<Delimited text input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "DelimitedTextSource",
"formatSettings":{
"type": "DelimitedTextReadSettings",
"skipLineCount": 10
},
"storeSettings":{
"type": "HdfsReadSettings",
"recursive": true,
"distcpSettings": {
"resourceManagerEndpoint": "resourcemanagerendpoint:8088",
"tempScriptPath": "/usr/hadoop/tempscript",
"distcpOptions": "-m 100"
}
}
},
"sink": {
"type": "<sink type>"
}
}
}
]
Klasör ve dosya filtresi örnekleri
Bu bölümde, klasör yolu ve dosya adıyla joker karakter filtresi kullanıyorsanız ortaya çıkan davranış açıklanmaktadır.
| folderPath | dosyaAdı | Özyinelemeli | Kaynak klasör yapısı ve filtre sonucu (kalın yazılmış dosyalar alınır) |
|---|---|---|---|
Folder* |
(boş, varsayılanı kullan) | yanlış | KlasörA File1.csv File2.json AltKlasör1 File3.csv File4.json File5.csv AnotherFolderB File6.csv |
Folder* |
(boş, varsayılanı kullan) | doğru | KlasörA File1.csv File2.json AltKlasör1 File3.csv File4.json File5.csv AnotherFolderB File6.csv |
Folder* |
*.csv |
yanlış | KlasörA File1.csv File2.json AltKlasör1 File3.csv File4.json File5.csv AnotherFolderB File6.csv |
Folder* |
*.csv |
doğru | KlasörA File1.csv File2.json AltKlasör1 File3.csv File4.json File5.csv AnotherFolderB File6.csv |
Dosya listesi örnekleri
Bu bölümde, Kopyalama etkinliği kaynağında dosya listesi yolunun kullanılmasından kaynaklanan davranış açıklanmaktadır. Aşağıdaki kaynak klasör yapısına sahip olduğunuzu ve kalın yazı tipindeki dosyaları kopyalamak istediğinizi varsayar:
| Örnek kaynak yapısı | FileListToCopy.txt dosyasının içeriği | Yapılandırma |
|---|---|---|
| kök KlasörA File1.csv File2.json AltKlasör1 File3.csv File4.json File5.csv Meta veri FileListToCopy.txt |
File1.csv Alt Klasör1/File3.csv Alt Klasör1/File5.csv |
Veri kümesinde: - Klasör yolu: root/FolderAKopyalama etkinliğinin kaynağında: - Dosya listesi yolu: root/Metadata/FileListToCopy.txt Dosya listesi yolu, kopyalamak istediğiniz dosyaların listesini içeren aynı veri deposundaki bir metin dosyasını gösterir (veri kümesinde yapılandırılmış yolun göreli yolu ile her satırda bir dosya). |
HDFS'den veri kopyalamak için DistCp kullanma
DistCp , Hadoop kümesinde dağıtılmış bir kopya yapmaya yönelik bir Hadoop yerel komut satırı aracıdır. DistCp'de bir komut çalıştırdığınızda, önce kopyalanacak tüm dosyaları listeler ve ardından Hadoop kümesinde birkaç Eşleme işi oluşturur. Her Eşleme işi kaynaktan havuza ikili bir kopya yapar.
Kopyalama etkinliği, dosyaları Azure Blob depolamaya (staged copy dahil) veya bir Azure data lake deposuna olduğu gibi kopyalamak için DistCp kullanılmasını destekler. Bu durumda DistCp, kendi barındırdığı tümleştirme çalışma zamanında çalışmak yerine kümenizin işlem gücünden yararlanabilir. DistCp kullanmak, özellikle kümeniz çok güçlüyse daha iyi kopyalama aktarım hızı sağlar. yapılandırmaya bağlı olarak, Kopyalama etkinliği otomatik olarak bir DistCp komutu oluşturur, bunu Hadoop kümenize gönderir ve kopyalama durumunu izler.
Önkoşullar
DOSYALARı HDFS'den Azure Blob depolamaya (aşamalı kopya dahil) veya Azure data lake store'a kopyalamak için DistCp kullanmak için Hadoop kümenizin aşağıdaki gereksinimleri karşıladığından emin olun:
MapReduce ve YARN hizmetleri etkinleştirilir.
YARN sürümü 2.5 veya üzeridir.
HDFS sunucusu hedef veri deponuzla tümleşiktir: Azure Blob depolama veya Azure Data Lake Store (ADLS 1. Nesil):
- Azure Blob FileSystem, Hadoop 2.7'den bu yana yerel olarak desteklenir. Yalnızca Hadoop ortam yapılandırmasında JAR yolunu belirtmeniz gerekir.
- Azure Data Lake Store FileSystem, Hadoop 3.0.0-alpha1'den başlayarak paketlenmiş. Hadoop küme sürümünüz bu sürümden daha eskiyse, here Azure Data Lake Store ile ilgili JAR paketlerini (azure-datalake-store.jar) kümeye el ile içeri aktarmanız ve Hadoop ortam yapılandırmasında JAR dosya yolunu belirtmeniz gerekir.
HDFS'de geçici klasör hazırlama. Bu geçici klasör bir DistCp kabuk betiğini depolamak için kullanıldığından KB düzeyinde alan kaplar.
HDFS bağlı hizmetinde sağlanan kullanıcı hesabının şu izinlere sahip olduğundan emin olun:
- YARN'da bir uygulama gönderin.
- Geçici klasör altında bir alt klasör oluşturun ve dosyaları okuyun/yazın.
Yapılandırmalar
DistCp ile ilgili yapılandırmalar ve örnekler için KAYNAK olarak HDFS bölümüne gidin.
HDFS bağlayıcısı için Kerberos kimlik doğrulamasını kullanma
HDFS bağlayıcısı için Kerberos kimlik doğrulamasını kullanmak üzere şirket içi ortamı ayarlamak için iki seçenek vardır. Durumunuz için daha uygun olanı seçebilirsiniz.
- Seçenek 1: Kerberos alanında kendi kendine barındırılan tümleştirme çalışma zamanı makinesine katılmak
- 2. Seçenek: Windows etki alanı ile Kerberos alanı arasında karşılıklı güveni etkinleştirme
Her iki seçenek için de Hadoop kümesi için webhdfs'yi açtığınızdan emin olun:
Webhdfs için HTTP sorumlusunu ve anahtar sekmesini oluşturun.
Önemli
HTTP Kerberos sorumlusu, Kerberos HTTP SPNEGO belirtimine göre "HTTP/" ile başlamalıdır. Buradan daha fazla bilgi edinin.
Kadmin> addprinc -randkey HTTP/<namenode hostname>@<REALM.COM> Kadmin> ktadd -k /etc/security/keytab/spnego.service.keytab HTTP/<namenode hostname>@<REALM.COM>HDFS yapılandırma seçenekleri: içine
hdfs-site.xmlaşağıdaki üç özelliği ekleyin.<property> <name>dfs.webhdfs.enabled</name> <value>true</value> </property> <property> <name>dfs.web.authentication.kerberos.principal</name> <value>HTTP/_HOST@<REALM.COM></value> </property> <property> <name>dfs.web.authentication.kerberos.keytab</name> <value>/etc/security/keytab/spnego.service.keytab</value> </property>
Seçenek 1: Kerberos etki alanında kendi kendine barındırılan bir tümleştirme çalışma zamanı makinesine katılmak için
Gereksinimler
- Kendi kendine barındırılan tümleştirme çalışma zamanı makinesinin Kerberos etki alanına katılması gerekir ve hiçbir Windows etki alanına katılamaz.
Yapılandırma
KDC sunucusunda:
Bir sorumlu oluşturun ve parolayı belirtin.
Önemli
Kullanıcı adı ana bilgisayar adını içermemelidir.
Kadmin> addprinc <username>@<REALM.COM>
Kendi kendine barındırılan tümleştirme çalışma zamanı makinesinde:
Kerberos Anahtar Dağıtım Merkezi (KDC) sunucusunu ve bölgesi yapılandırmak için Ksetup yardımcı programını çalıştırın.
Kerberos bölgesi bir Windows etki alanından farklı olduğundan makinenin bir çalışma grubunun üyesi olarak yapılandırılması gerekir. Aşağıdaki komutları çalıştırarak Kerberos bölgesi ayarlayıp bir KDC sunucusu ekleyerek bu yapılandırmayı gerçekleştirebilirsiniz. REALM.COM kendi bölge adınızla değiştirin.
C:> Ksetup /setdomain REALM.COM C:> Ksetup /addkdc REALM.COM <your_kdc_server_address>Bu komutları çalıştırdıktan sonra makineyi yeniden başlatın.
Ksetupkomutunu kullanarak yapılandırmayı doğrulayın. Çıkış şöyle olmalıdır:C:> Ksetup default realm = REALM.COM (external) REALM.com: kdc = <your_kdc_server_address>
Veri fabrikanızda veya Synapse çalışma alanınızda:
- HDFS veri kaynağına bağlanmak için kerberos asıl adınız ve parolanızla birlikte Windows authentication kullanarak HDFS bağlayıcısını yapılandırın. Yapılandırma ayrıntıları için HDFS bağlı hizmet özellikleri bölümüne bakın.
2. Seçenek: Windows etki alanı ile Kerberos bölgesi arasında karşılıklı güveni etkinleştirme
Gereksinimler
- Kendi kendine barındırılan tümleştirme çalışma zamanı makinesinin bir Windows etki alanına katılması gerekir.
- Etki alanı denetleyicisinin ayarlarını güncelleştirmek için izniniz olmalıdır.
Yapılandırma
Not
Aşağıdaki öğreticideki REALM.COM ve AD.COM'u kendi alan adınız ve etki alanı denetleyiciniz ile değiştirin.
KDC sunucusunda:
KDC'nin aşağıdaki yapılandırma şablonuna başvurarak Windows etki alanına güvenmesine izin vermek için krb5.conf dosyasındaki KDC yapılandırmasını düzenleyin. Varsayılan olarak, yapılandırma /etc/krb5.conf konumunda bulunur.
[logging] default = FILE:/var/log/krb5libs.log kdc = FILE:/var/log/krb5kdc.log admin_server = FILE:/var/log/kadmind.log [libdefaults] default_realm = REALM.COM dns_lookup_realm = false dns_lookup_kdc = false ticket_lifetime = 24h renew_lifetime = 7d forwardable = true [realms] REALM.COM = { kdc = node.REALM.COM admin_server = node.REALM.COM } AD.COM = { kdc = windc.ad.com admin_server = windc.ad.com } [domain_realm] .REALM.COM = REALM.COM REALM.COM = REALM.COM .ad.com = AD.COM ad.com = AD.COM [capaths] AD.COM = { REALM.COM = . }Dosyayı yapılandırdıktan sonra KDC hizmetini yeniden başlatın.
Aşağıdaki komutla KDC sunucusunda krbtgt/REALM.COM@AD.COM adlı bir sorumlu hazırlayın:
Kadmin> addprinc krbtgt/REALM.COM@AD.COMhadoop.security.auth_to_local HDFS hizmeti yapılandırma dosyasına ekleyin
RULE:[1:$1@$0](.*\@AD.COM)s/\@.*//.
Etki alanı denetleyicisinde:
Bölge girdisi eklemek için aşağıdaki
Ksetupkomutları çalıştırın:C:> Ksetup /addkdc REALM.COM <your_kdc_server_address> C:> ksetup /addhosttorealmmap HDFS-service-FQDN REALM.COMWindows etki alanından Kerberos alanına güven oluşturun. [password], asıl krbtgt/REALM.COM@AD.COM parolasıdır.
C:> netdom trust REALM.COM /Domain: AD.COM /add /realm /password:[password]Kerberos'ta kullanılan şifreleme algoritmasını seçin.
a. Sunucu Yöneticisi>Grup İlkesi Yönetimi>Etki Alanı>Grup İlkesi Nesneleri>Varsayılan veya Etkin Etki Alanı İlkesi ve ardından Düzenle öğesini seçin.
b. Group İlkesi Yönetimi Düzenleyicisi bölmesinde Bilgisayar Yapılandırması>Policies>Windows Ayarları'nı seçin>Güvenlik Ayarları>Local Policies>Güvenlik Seçenekleri, ve ardından Network güvenliği: Kerberos için izin verilen Şifreleme türlerini yapılandırın.
c. KDC sunucusuna bağlanırken kullanmak istediğiniz şifreleme algoritmasını seçin. Tüm seçenekleri belirleyebilirsiniz.
d.
KsetupBelirtilen bölge üzerinde kullanılacak şifreleme algoritmasını belirtmek için komutunu kullanın.C:> ksetup /SetEncTypeAttr REALM.COM DES-CBC-CRC DES-CBC-MD5 RC4-HMAC-MD5 AES128-CTS-HMAC-SHA1-96 AES256-CTS-HMAC-SHA1-96Windows etki alanında Kerberos sorumlusunu kullanabilmek için etki alanı hesabı ile Kerberos sorumlusu arasında eşleme oluşturun.
a. Administrative tools>Active Directory Kullanıcıları ve Bilgisayarları öğesini seçin.
b. Gelişmiş Özellikleri Görüntüle'yi seçerek gelişmiş özellikleri yapılandırın.>
c. Gelişmiş Özellikler bölmesinde, eşleme oluşturmak istediğiniz hesaba sağ tıklayın ve Ad Eşlemeleri bölmesinde Kerberos Adları sekmesini seçin.
d. Bölge'den bir sorumlu ekleyin.
Kendi kendine barındırılan tümleştirme çalışma zamanı makinesinde:
Bir bölge girdisi eklemek için aşağıdaki
Ksetupkomutları çalıştırın.C:> Ksetup /addkdc REALM.COM <your_kdc_server_address> C:> ksetup /addhosttorealmmap HDFS-service-FQDN REALM.COM
Veri fabrikanızda veya Synapse çalışma alanınızda:
- HDFS veri kaynağına bağlanmak için etki alanı hesabınız veya Kerberos sorumlunuzla birlikte Windows authentication kullanarak HDFS bağlayıcısını yapılandırın. Yapılandırma ayrıntıları için HDFS bağlı hizmet özellikleri bölümüne bakın.
Arama etkinliği özellikleri
Arama etkinliği özellikleri hakkında bilgi için Arama etkinliği kısmına bakın.
Etkinlik özelliklerini silme
Silme etkinliği özellikleri hakkında bilgi için bkz Silme etkinliği.
Eski modeller
Not
Aşağıdaki modeller geriye dönük uyumluluk için olduğu gibi hala desteklenmektedir. Yazma kullanıcı arabirimi yeni modeli oluşturmaya geçtiğinden, daha önce tartışılan yeni modeli kullanmanızı öneririz.
Eski veri kümesi modeli
| Özellik | Açıklama | Gerekli |
|---|---|---|
| Tip | Veri kümesinin type özelliği FileShare olarak ayarlanmalıdır | Yes |
| folderPath | Klasörün yolu. Joker karakter filtresi desteklenir. İzin verilen joker karakterler şunlardır * (sıfır veya daha fazla karakterle eşleşir) ve ? (sıfır veya tek karakterle eşleşir); gerçek dosya adınızın içinde joker karakter veya bu kaçış karakteri varsa kaçış karakteri kullanın ^ . Örnekler: kök klasör/alt klasör/, Klasör ve dosya filtresi örnekleri'ndeki diğer örneklere bakın. |
Yes |
| dosyaAdı | Belirtilen "folderPath" altındaki dosyalar için ad veya joker karakter filtresi. Bu özellik için bir değer belirtmezseniz, veri kümesi klasördeki tüm dosyaları gösterir. Filtre için, izin verilen joker karakterler şunlardır: * (sıfır veya daha fazla karakterle eşleşir) ve ? (sıfır veya tek bir karakterle eşleşir).- Örnek 1: "fileName": "*.csv"- Örnek 2: "fileName": "???20180427.txt"Eğer gerçek klasör adınızda bir joker karakter veya kaçış karakteri varsa, kaçış yapmak için ^ kullanın. |
Hayır |
| değiştirilmişTarihSaatBaşlangıç | Dosyalar, Son Değiştirme Tarihi özniteliğine göre filtrelenir. Dosyalar, son değiştirme süreleri değerinden büyük veya buna eşit modifiedDatetimeStart ve değerinden modifiedDatetimeEndküçükse seçilir. Saat UTC saat dilimine 2018-12-01T05:00:00Z biçiminde uygulanır. Çok sayıda dosyaya dosya filtresi uygulamak istediğinizde bu ayarın etkinleştirilmesi, veri taşımanın genel performansının etkileneceğini unutmayın. Özellikler NULL olabilir; başka bir deyişle veri kümesine hiçbir dosya özniteliği filtresi uygulanmaz. Bir datetime değeri olduğunda modifiedDatetimeStart ancak modifiedDatetimeEnd NULL olduğunda, son değiştirilen özniteliği datetime değerinden büyük veya buna eşit olan dosyaların seçildiği anlamına gelir. Tarih saat değeri olduğunda modifiedDatetimeEnd ancak modifiedDatetimeStart NULL olduğunda, son değiştirilen özniteliği datetime değerinden küçük olan dosyaların seçili olduğu anlamına gelir. |
Hayır |
| değişiklikTarihSaatiSonu | Dosyalar, Son Değiştirme Tarihi özniteliğine göre filtrelenir. Dosyalar, son değiştirme süreleri değerinden büyük veya buna eşit modifiedDatetimeStart ve değerinden modifiedDatetimeEndküçükse seçilir. Saat UTC saat dilimine 2018-12-01T05:00:00Z biçiminde uygulanır. Çok sayıda dosyaya dosya filtresi uygulamak istediğinizde bu ayarın etkinleştirilmesi, veri taşımanın genel performansının etkileneceğini unutmayın. Özellikler NULL olabilir; başka bir deyişle veri kümesine hiçbir dosya özniteliği filtresi uygulanmaz. Bir datetime değeri olduğunda modifiedDatetimeStart ancak modifiedDatetimeEnd NULL olduğunda, son değiştirilen özniteliği datetime değerinden büyük veya buna eşit olan dosyaların seçildiği anlamına gelir. Tarih saat değeri olduğunda modifiedDatetimeEnd ancak modifiedDatetimeStart NULL olduğunda, son değiştirilen özniteliği datetime değerinden küçük olan dosyaların seçili olduğu anlamına gelir. |
Hayır |
| format | Dosyaları dosya tabanlı depolar (ikili kopya) arasında olduğu gibi kopyalamak istiyorsanız, hem giriş hem de çıkış veri kümesi tanımlarında biçim bölümünü atlayın. Dosyaları belirli bir biçimde ayrıştırmak istiyorsanız, şu dosya biçimi türleri desteklenir: TextFormat, JsonFormat, AvroFormat, OrcFormat, ParquetFormat. biçim altındaki type özelliğini bu değerlerden birine ayarlayın. Daha fazla bilgi için Metin biçimi, JSON biçimi, Avro biçimi, ORC biçimi ve Parquet biçimi bölümlerine bakın. |
Hayır (yalnızca ikili kopyalama senaryosu için) |
| sıkıştırma | Verilerin sıkıştırma türünü ve düzeyini belirtin. Daha fazla bilgi için bkz . Desteklenen dosya biçimleri ve sıkıştırma codec'leri. Desteklenen türler şunlardır: Gzip, Deflate, Bzip2 ve ZipDeflate. Desteklenen düzeyler şunlardır: En uygun ve en hızlı. |
Hayır |
İpucu
Bir klasörün altındaki tüm dosyaları kopyalamak için yalnızca folderPath değerini belirtin.
Belirtilen ada sahip tek bir dosyayı kopyalamak için klasör kısmını folderPath ile ve dosya adını fileName ile belirtin.
Bir klasörün altındaki dosyaların bir alt kümesini kopyalamak için klasör bölümü ile folderPath ve joker karakter filtresiyle fileName belirtin.
Örnek:
{
"name": "HDFSDataset",
"properties": {
"type": "FileShare",
"linkedServiceName":{
"referenceName": "<HDFS linked service name>",
"type": "LinkedServiceReference"
},
"typeProperties": {
"folderPath": "folder/subfolder/",
"fileName": "*",
"modifiedDatetimeStart": "2018-12-01T05:00:00Z",
"modifiedDatetimeEnd": "2018-12-01T06:00:00Z",
"format": {
"type": "TextFormat",
"columnDelimiter": ",",
"rowDelimiter": "\n"
},
"compression": {
"type": "GZip",
"level": "Optimal"
}
}
}
}
Eski Kopyalama etkinliği kaynak modeli
| Özellik | Açıklama | Gerekli |
|---|---|---|
| Tip | Kopyalama etkinliği kaynağının type özelliği HdfsSource olarak ayarlanmalıdır. | Yes |
| Özyinelemeli | Verilerin alt klasörlerden veya yalnızca belirtilen klasörden özyinelemeli olarak okunup okunmadığını gösterir. Özyineleme true olarak ayarlandığında ve havuz dosya tabanlı bir depo olduğunda, havuza boş bir klasör veya alt klasör kopyalanmaz veya oluşturulmaz. İzin verilen değerler true (varsayılan) ve false değerleridir. |
Hayır |
| distcpSettings | HDFS DistCp kullanırken özellik grubu. | Hayır |
| kaynakYöneticisiUçNoktası | YARN Resource Manager uç birimi | Evet, DistCp kullanılıyorsa |
| tempScriptPath | Temp DistCp komut betiğini depolamak için kullanılan klasör yolu. Komut dosyası oluşturulur ve Kopyalama işi tamamlandıktan sonra kaldırılır. | Evet, DistCp kullanılıyorsa |
| distcpOptions | DistCp komutuna ek seçenekler sağlanır. | Hayır |
| Maksimum Eşzamanlı Bağlantılar | Etkinlik çalıştırması sırasında veri deposuna kurulan eş zamanlı bağlantıların üst sınırı. Yalnızca eşzamanlı bağlantıları sınırlamak istediğinizde bir değer belirtin. | Hayır |
Örnek: DistCp kullanarak Kopyalama etkinliğinde HDFS kaynağı
"source": {
"type": "HdfsSource",
"distcpSettings": {
"resourceManagerEndpoint": "resourcemanagerendpoint:8088",
"tempScriptPath": "/usr/hadoop/tempscript",
"distcpOptions": "-m 100"
}
}
İlgili içerik
Kopyalama etkinliği kaynak ve havuz olarak desteklenen veri depolarının listesi için bkz. desteklenen veri depoları.