Aracılığıyla paylaş


ORC eşlemesi

Alma kaynak dosyanız ORC biçiminde olduğunda gelen verileri tabloların içindeki sütunlarla eşlemek için ORC eşlemesini kullanın.

Eşleme listesindeki her öğe, belirli bir sütun için eşlemeyi tanımlar. Bu öğeler üç özellikten oluşturulur: column, datatypeve properties. Veri eşlemelerine genel bakış bölümünde daha fazla bilgi edinin.

Her ORC eşleme öğesi aşağıdaki isteğe bağlı özelliklerden birini içermelidir:

Özellik Tür Description
Alan string ORC kaydındaki alanın adı.
Yol string Değer ile $ başlıyorsa, ORC belgesindeki alanın yolu olarak yorumlanır ve tablodaki sütunun içeriği olur. ORC kaydının tamamını belirten yol şeklindedir $. Değer ile $ başlamıyorsa sabit değer olarak yorumlanır. Özel karakterler içeren yollara ['Özellik Adı'] olarak kaçış karakteri verilmelidir. Daha fazla bilgi için bkz. JSONPath söz dizimi.
ConstValue string ORC dosyasının içindeki bir değer yerine bir sütun için kullanılacak sabit değer.
Dönüşüm string Eşleme dönüştürmeleri ile içeriğe uygulanması gereken dönüştürme.

Not

Alan ve Yol birbirini dışlar.

Aşağıdaki alternatifler eşdeğerdir:

[
  {"Column": "event_name", "Properties": {"Path": "$.EventName"}}
]
[
  {"Column": "event_name", "Properties": {"Field": "EventName"}}
]

Önemli

Kuyruğa alınan alım için:

  • Eşlemede başvuruda bulunılan tablo veritabanında yoksa, tüm sütunlar için geçerli veri türlerinin belirtildiğinden otomatik olarak oluşturulur.
  • Eşlemede başvuruda bulunılan bir sütun tabloda yoksa, sütun için geçerli bir veri türü belirtildiğinden, bu sütun için ilk veri alımında son sütun olarak tabloya otomatik olarak eklenir. Eşlemeye yeni sütunlar eklemek için .alter alma eşleme komutunu kullanın.
  • Veri alımı özellikleri kullanılarak toplu olarak oluşturulur. Farklı ConstValue değerleri gibi daha farklı alım eşleme özellikleri kullanıldıkça, alma işlemi o kadar parçalanır ve bu da performans düşüşlerine yol açabilir.

Örnekler

[
  {"Column": "event_timestamp", "Properties": {"Path": "$.Timestamp"}},
  {"Column": "event_name",      "Properties": {"Path": "$.Event.Name"}},
  {"Column": "event_type",      "Properties": {"Path": "$.Event.Type"}},
  {"Column": "event_time",      "Properties": {"Path": "$.Timestamp", "Transform": "DateTimeFromUnixMilliseconds"}},
  {"Column": "ingestion_time",  "Properties": {"ConstValue": "2021-01-01T10:32:00"}},
  {"Column": "full_record",     "Properties": {"Path": "$"}}
]

Yukarıdaki eşleme, yönetim komutunun bir parçası .ingest olarak sağlandığında JSON dizesi olarak seri hale getirilir.

.ingest into Table123 (@"source1", @"source2")
  with
  (
      format = "orc",
      ingestionMapping =
      ```
      [
        {"Column": "column_a", "Properties": {"Path": "$.Field1"}},
        {"Column": "column_b", "Properties": {"Path": "$.[\'Field name with space\']"}}
      ]
      ```
  )

Önceden oluşturulmuş eşleme

Eşleme önceden oluşturulduğunda, yönetim komutunda eşlemeye .ingest ada göre başvurun.

.ingest into Table123 (@"source1", @"source2")
    with
    (
        format="orc",
        ingestionMappingReference = "ORC_Mapping"
    )

Kimlik eşleme

Eşleme şeması tanımlamadan alma sırasında ORC eşlemesini kullanın (bkz. kimlik eşlemesi).

.ingest into Table123 (@"source1", @"source2")
    with
    (
        format="orc"
    )