Azure Veri Gezgini'ne veri almak için LightIngest'i kullanma
LightIngest, Azure Veri Gezgini'a geçici veri alımı için bir komut satırı yardımcı programıdır. Yardımcı program bir yerel klasörden, Azure blob depolama kapsayıcısından veya Amazon S3 demetinden kaynak verileri çekebilir.
Alım süresinde zaman kısıtlaması olmadığından, en çok büyük miktarda veri almak istediğinizde LightIngest kullanışlıdır. Ayrıca, kayıtları daha sonra oluşturuldukları zamana göre sorgulamak istediğinizde ve alındıkları zamana göre sorgulamak istediğinizde de kullanışlıdır.
LightIngest komutunu otomatik olarak oluşturma örneği için bkz. Geçmiş verileri alma.
Not
Veri alımı en fazla 6 GB'lık dosya boyutunu destekler. 100 MB ile 1 GB arasında dosyaları alma önerisinde bulunur.
Önkoşullar
- En Açık. LightIngest almanın iki yolu vardır:
İşletim sisteminiz için LightIngest ikili dosyalarını indirin. İndirdikten sonra ikili dosyaları sıkıştırmayı kaldırdığından emin olun.
LightIngest'i .NET aracı olarak yükleyin. Bu yöntem, makinenizde .NET SDK 6.0 veya üzeri bir sürümün yüklü olmasını gerektirir. Ardından şu komutu çalıştırın:
dotnet tool install -g Microsoft.Azure.Kusto.LightIngest
LightIngest çalıştırma
LightIngest'i çalıştırmak için:
Komut isteminde, ardından ilgili komut satırı bağımsız değişkenini girin
LightIngest
.İpucu
Desteklenen komut satırı bağımsız değişkenlerinin listesi için girin
LightIngest /help
.Ardından, alımı yönetecek Azure Veri Gezgini kümesine bağlantı dizesi girin
ingest-
. bağlantı dizesi çift tırnak içine alın ve Kusto bağlantı dizeleri belirtimini izleyin.Örnek:
LightIngest "https://ingest-{Cluster name and region}.kusto.windows.net;Fed=True" -db:{Database} -table:Trips -source:"https://{Account}.blob.core.windows.net/{ROOT_CONTAINER};{StorageAccountKey}" -pattern:"*.csv.gz" -format:csv -limit:2 -ignoreFirst:true -cr:10.0 -dontWait:true
Performans önerileri
Alım yükünü en iyi şekilde yönetmek ve geçici hatalardan kurtarmak için konumundaki
https://ingest-{yourClusterNameAndRegion}.kusto.windows.net
alım uç noktasını kullanın.En iyi alım performansı için ham veri boyutu gereklidir, böylece LightIngest yerel dosyaların sıkıştırılmamış boyutunu tahmin edebilir. Ancak LightIngest, sıkıştırılmış blobları indirmeden ham boyutunu doğru şekilde tahmin edemeyebilir. Bu nedenle, sıkıştırılmış blobları alırken blob meta verilerindeki özelliğini bayt cinsinden sıkıştırılmamış veri boyutuna ayarlayın
rawSizeBytes
.
Komut satırı bağımsız değişkenleri
Bağımsız Değişken | Tür | Açıklama | Gerekli |
---|---|---|---|
string |
Kusto bağlantı dizesi alımı işleyen Kusto uç noktasını belirtir. Bu değer çift tırnak içine alınmalıdır. | ✔️ | |
-database, -db | string |
Hedef Azure Veri Gezgini veritabanı adı. | |
-Tablo | string |
Hedef Azure Veri Gezgini tablo adı. | ✔️ |
-sourcePath, -source | string |
Yerel dosya yolu, Azure blob kapsayıcısının kök URI'si veya Amazon S3 demetinin URI'si olabilecek kaynak verilerin konumu. Veriler Azure bloblarında depolanıyorsa, URI depolama hesabı anahtarını veya Paylaşılan Erişim İmzası'nı (SAS) içermelidir. Veriler bir S3 demetindeyse, URI'nin kimlik bilgisi anahtarını içermesi gerekir. Bu değerin çift tırnak içine alınması önerilir. Daha fazla bilgi için bkz . Depolama bağlantı dizeleri. Pass -sourcePath:; Kullanıcı izinlerine (kullanıcı istemi yetkilendirmesi) sahip Azure depolama öğelerini listelemek için kimliğe bürünme. | ✔️ |
-managedIdentity, -mi | string |
Bağlanmak için kullanılacak yönetilen kimliğin (kullanıcı tarafından atanan veya sistem tarafından atanan) istemci kimliği. Sistem tarafından atanan kimlik için "system" kullanın. | |
-ingestWithManagedIdentity, -imgestmi | string |
Bağlanmak için kullanılacak yönetilen kimliğin (kullanıcı tarafından atanan veya sistem tarafından atanan) istemci kimliği. Sistem tarafından atanan kimlik için "system" kullanın. | |
-connectToStorageWithUserAuth, -storageUserAuth | string |
Kullanıcı kimlik bilgileriyle veri kaynağı depolama hizmetinde kimlik doğrulaması. Bu değerin seçenekleri veya DEVICE_CODE şeklindedirPROMPT . |
|
-connectToStorageLoginUri, -storageLoginUri | string |
Ayarlanırsa-connectToStorageWithUserAuth , isteğe bağlı olarak Microsoft Entra ID oturum açma URI'sini sağlayabilirsiniz. |
|
-Önek | string |
Alınacak kaynak veriler blob depolama alanında bulunduğunda, bu URL ön eki kapsayıcı adı hariç tüm bloblar tarafından paylaşılır. Örneğin, veriler içindeyse MyContainer/Dir1/Dir2 ön ek olmalıdır Dir1/Dir2 . Bu değerin çift tırnak içine alınması önerilir. |
|
-Desen | string |
Kaynak dosyaların/blobların seçildiği desen. Joker karakterleri destekler. Örneğin, "*.csv" . Bu değerin çift tırnak içine alınması önerilir. |
|
-zipPattern | string |
Zip arşivinde hangi dosyaların alınıp alınamayacaını seçerken kullanılacak normal ifade. Arşivdeki diğer tüm dosyalar yoksayılır. Örneğin, "*.csv" . Bu değerin çift tırnak içine alınması önerilir. |
|
-format, -f | string |
Kaynak veri biçimi. Desteklenen biçimlerden biri olmalıdır | |
-ingestionMappingPath, -mappingPath | string |
Alma sütunu eşlemesi için yerel dosyanın yolu. Bkz. veri eşlemeleri. | |
-ingestionMappingRef, -mappingRef | string |
Tabloda daha önce oluşturulmuş bir alım sütunu eşlemesinin adı. Bkz. veri eşlemeleri. | |
-creationTimePattern | string |
Ayarlandığında, dosya veya blob yolundan CreationTime özelliğini ayıklamak için kullanılır. Bkz. kullanarak CreationTime verileri alma. |
|
-ignoreFirstRow, -ignoreFirst | bool |
Ayarlanırsa, her dosyanın/blobun ilk kaydı yoksayılır. Örneğin, kaynak verilerde üst bilgiler varsa. | |
-Etiket | string |
Alınan verilerle ilişkilendirilecek etiketler. Birden çok oluşuma izin verilir | |
-dontWait | bool |
olarak ayarlanırsa true , alımın tamamlanmasını beklemez. Büyük miktarlarda dosya/blob alırken kullanışlıdır. |
|
-compression, -cr | double | Sıkıştırma oranı ipucu. Azure Veri Gezgini ham veri boyutunu değerlendirmesine yardımcı olmak için sıkıştırılmış dosyaları/blobları alırken kullanışlıdır. Sıkıştırılmış boyuta bölünen özgün boyut olarak hesaplanır. | |
-limit, -l | tamsayı | Ayarlanırsa, alımı ilk N dosyayla sınırlar. | |
-listOnly, -list | bool |
Ayarlanırsa, yalnızca alım için seçilmiş olan öğeleri görüntüler. | |
-ingestTimeout | tamsayı | Tüm alma işlemlerinin tamamlanması için dakika cinsinden zaman aşımı. varsayılan olarak 60 ayarlanır. |
|
-forceSync | bool |
Ayarlanırsa, zaman uyumlu alımı zorlar. varsayılan olarak false ayarlanır. |
|
-Etkileşimli | bool |
olarak ayarlanırsa false , bağımsız değişkenlerin onaylanmasını istemez. Katılımsız akışlar ve etkileşimli olmayan ortamlar için. true varsayılan değerdir. |
|
-dataBatchSize | tamsayı | Her alma işleminin toplam boyut sınırını (MB, sıkıştırılmamış) ayarlar. | |
-filesInBatch | tamsayı | Her alma işleminin dosya/blob sayısı sınırını ayarlar. | |
-devTracing, -trace | string |
Ayarlanırsa, tanılama günlükleri yerel bir dizine yazılır (varsayılan olarak geçerli RollingLogs dizinde veya anahtar değeri ayarlanarak değiştirilebilir). |
Azure blob'a özgü özellikler
LightIngest, Azure bloblarıyla kullanıldığında alım işlemini artırmak için belirli blob meta veri özelliklerini kullanır.
Meta veri özelliği | Kullanım |
---|---|
rawSizeBytes , kustoUncompressedSizeBytes |
Ayarlanırsa, sıkıştırılmamış veri boyutu olarak yorumlanır |
kustoCreationTime , kustoCreationTimeUtc |
UTC zaman damgası olarak yorumlanır. Ayarlanırsa Kusto'da oluşturma zamanını geçersiz kılmak için kullanılır. Geri doldurma senaryoları için kullanışlıdır |
Kullanım örnekleri
Aşağıdaki örneklerde, işletim sisteminiz için LightIngest ikili dosyalarını yüklediğiniz varsayılır. LightIngest'i bir .NET aracı olarak yüklediyseniz, LightIngest
örneklerde yerine öğesini LightIngest
yazın.
CreationTime özelliğiyle geçmiş verileri alma
Mevcut sistemden Azure Veri Gezgini'a geçmiş verileri yüklediğinizde, tüm kayıtlar aynı alım tarihini alır. Verilerinizin alım zamanına göre değil oluşturma zamanına göre bölümlenmesine olanak tanımak için bağımsız değişkenini -creationTimePattern
kullanabilirsiniz. -creationTimePattern
bağımsız değişkeni, dosya veya blob yolundan özelliğini ayıklarCreationTime
. Düzenin öğe yolunun tamamını yansıtması gerekmez, yalnızca kullanmak istediğiniz zaman damgasını kapsayan bölüm.
Bağımsız değişken değerleri şunları içermelidir:
- Zaman damgası biçiminden hemen önce, tek tırnak içine alınmış sabit metin (ön ek)
- Standart .NET DateTime gösteriminde zaman damgası biçimi
- Zaman damgasının hemen ardından sabit metin (sonek).
Önemli
Oluşturma zamanının geçersiz kılınması gerektiğini belirtirken, hedef tablonun etkili Kapsam birleştirme ilkesindeki özelliğin dosya veya blob yollarınızdaki değerlerle hizalandığından emin olunLookback
.
Örnekler
Tarih saatini aşağıdaki gibi içeren bir blob adı:
historicalvalues19840101.parquet
(zaman damgası yıl için dört basamak, ay için iki basamak ve ay günü için iki basamaktır),Bağımsız değişkeninin değeri
-creationTimePattern
dosya adının bir parçasıdır: "'historicalvalues'yyyyMdd'.parquet'"LightIngest "https://ingest-{Cluster name and region}.kusto.windows.net;Fed=True" -db:{Database} -table:Trips -source:"https://{Account}.blob.core.windows.net/{ROOT_CONTAINER};{StorageAccountKey}" -creationTimePattern:"'historicalvalues'yyyyMMdd'.parquet'" -pattern:"*.parquet" -format:parquet -limit:2 -cr:10.0 -dontWait:true
gibi
https://storageaccount/mycontainer/myfolder/2002/12/01/blobname.extension
hiyerarşik klasör yapısına başvuran blob URI'leri içinBağımsız değişkeninin değeri
-creationTimePattern
klasör yapısının bir parçasıdır: "'folder/'yyyy/MM/dd'/blob'"LightIngest "https://ingest-{Cluster name and region}.kusto.windows.net;Fed=True" -db:{Database} -table:Trips -source:"https://{Account}.blob.core.windows.net/{ROOT_CONTAINER};{StorageAccountKey}" -creationTimePattern:"'mycontainer/myfolder/'yyyy/MM/dd'/'" -pattern:"*.csv.gz" -format:csv -limit:2 -ignoreFirst:true -cr:10.0 -dontWait:true
Depolama hesabı anahtarı veya SAS belirteci kullanarak blob alma
- Belirtilen depolama hesabı
ACCOUNT
altında, klasöründeDIR
, kapsayıcıCONT
altında ve desenle eşleşen 10 blob alın*.csv.gz
- Hedef veritabanı
DB
, tabloTABLE
ve alma eşlemesiMAPPING
hedefte önceden oluşturulur - Araç alma işlemleri tamamlanana kadar bekler
- Hedef veritabanını ve depolama hesabı anahtarını ve SAS belirtecini belirtmek için farklı seçeneklere dikkat edin
LightIngest "https://ingest-{ClusterAndRegion}.kusto.windows.net;Fed=True"
-database:DB
-table:TABLE
-source:"https://ACCOUNT.blob.core.windows.net/{ROOT_CONTAINER};{StorageAccountKey}"
-prefix:"DIR"
-pattern:*.csv.gz
-format:csv
-mappingRef:MAPPING
-limit:10
LightIngest "https://ingest-{ClusterAndRegion}.kusto.windows.net;Fed=True;Initial Catalog=DB"
-table:TABLE
-source:"https://ACCOUNT.blob.core.windows.net/{ROOT_CONTAINER}?{SAS token}"
-prefix:"DIR"
-pattern:*.csv.gz
-format:csv
-mappingRef:MAPPING
-limit:10
Üst bilgi satırları dahil olmak üzere kapsayıcıdaki tüm blobları alma
- Belirtilen depolama hesabı
ACCOUNT
altında, klasöründeDIR1/DIR2
, kapsayıcıCONT
altında ve desenle eşleşen tüm blobları alın*.csv.gz
- Hedef veritabanı
DB
, tabloTABLE
ve alma eşlemesiMAPPING
hedefte önceden oluşturulur - Kaynak bloblar üst bilgi satırı içerdiğinden, aracın her blobun ilk kaydını bırakması istenir
- Araç veri alımı için gönderiler ve alma işlemlerinin tamamlanmasını beklemez
LightIngest "https://ingest-{ClusterAndRegion}.kusto.windows.net;Fed=True"
-database:DB
-table:TABLE
-source:"https://ACCOUNT.blob.core.windows.net/{ROOT_CONTAINER}?{SAS token}"
-prefix:"DIR1/DIR2"
-pattern:*.csv.gz
-format:csv
-mappingRef:MAPPING
-ignoreFirstRow:true
Bir yoldan tüm JSON dosyalarını alma
- yolundaki
PATH
desenle eşleşen tüm dosyaları alın*.json
- Hedef veritabanı
DB
, tabloTABLE
ve alma eşlemesi yerel dosyada tanımlanırMAPPING_FILE_PATH
- Araç veri alımı için gönderiler ve alma işlemlerinin tamamlanmasını beklemez
LightIngest "https://ingest-{ClusterAndRegion}.kusto.windows.net;Fed=True"
-database:DB
-table:TABLE
-source:"PATH"
-pattern:*.json
-format:json
-mappingPath:"MAPPING_FILE_PATH"
Dosyaları alma ve tanılama izleme dosyaları yazma
- yolundaki
PATH
desenle eşleşen tüm dosyaları alın*.json
- Hedef veritabanı
DB
, tabloTABLE
ve alma eşlemesi yerel dosyada tanımlanırMAPPING_FILE_PATH
- Araç veri alımı için gönderiler ve alma işlemlerinin tamamlanmasını beklemez
- Tanılama izleme dosyaları klasörün altına yerel olarak yazılır
LOGS_PATH
LightIngest "https://ingest-{ClusterAndRegion}.kusto.windows.net;Fed=True"
-database:DB
-table:TABLE
-source:"PATH"
-pattern:*.json
-format:json
-mappingPath:"MAPPING_FILE_PATH"
-trace:"LOGS_PATH"
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin