Apache Parquet dosyalarıyla çalışma | Qlik Sense on Windows Yardımı
Ana içeriğe geç Tamamlayıcı içeriğe geç

Apache Parquet dosyalarıyla çalışma

Apache Parquet, büyük veri kümelerini depolamak ve sorgulamak için oldukça verimli bir sütunlu depolama biçimidir. Qlik Sense içinde, Parquet dosyalarındaki verileri okuyabilir ve tabloları Parquet dosyaları olarak depolayabilirsiniz.

Parquet, tüm tabloyu okumak yerine tablodaki belirli sütunların verimli bir şekilde sorgulanmasına olanak tanır. Bu, Parquet'i büyük veri işleme ile kullanım için oldukça uygun hâle getirir. Parquet, verilerin verimli bir şekilde sıkıştırılmasını ve şifrelenmesini de destekler. Bu, depolama alanını daha da azaltabilir ve sorgu performansını iyileştirebilir.

Bilgi notuAğustos 2023'ten önceki bir Qlik Sense sürümünde oluşturulan tüm mevcut uygulamalar, Parquet desteğini etkinleştirmek için manuel olarak güncellenmelidir. Bu, hem Ağustos 2023'e yükseltilen dağıtımlar için hem de mevcut uygulamaları yeni bir dağıtıma aktarırken gereklidir. Uygulamaları güncelleme hakkında daha fazla bilgi için bk. Qlik Sense uygulamasındaki mevcut uygulamalar için Parquet dosyası desteğini etkinleştirme.

Parquet dosyaları oluşturma

Komut dosyasındaki ParquetStore komutunu kullanarak dosyaları oluşturabilirsiniz. Kod içinde önceden okunan bir tablonun veya bunun bir parçasının seçtiğiniz bir konumdaki açıkça adlandırılmış bir dosyaya dışa aktarılmasını belirtin. Depoladığınız verileri Parquet dosyalarında iç içe geçirebilirsiniz.

Daha fazla bilgi için bkz. Store.

Parquet dosyalarından veri okuma

Parquet tarafından desteklenen diğer veri dosyalarında olduğu gibi, bir Qlik Sense dosyasındaki verileri okuyabilirsiniz. Buna Veri yöneticisi, Veri yükleme düzenleyicisi veya yeni bir uygulamaya veri eklediğiniz zamanlar dahildir.

Daha fazla bilgi için bkz. Dosyalardan veri yükleme.

LOAD komutuyla veri komut dosyasında da bir Parquet dosyasından veri yükleyebilirsiniz. Örneğin:

LOAD * from xyz.parquet (parquet);

Daha fazla bilgi için bkz. Load.

İç içe geçirilmiş Parquet dosyalarından veri yükleme

Bir Parquet dosyası iç içe geçirilmiş veriler içeriyorsa her biri, her tabloya hangi alt kümenin yüklenmesi gerektiğini belirten birden fazla load deyiminde yüklenmelidir. Table is belirticisi, yüklenecek şemada grup düğümünün bir yolunu kanıtlamak için kullanılır.

Sadece Table is yoluyla eşleşen düğümler yüklenir.

Veri düğümü, iç içe geçirme olmadan bir dosyaya yüklenir.

Grup düğümleri, adlarını alan adına ekleyerek gruptaki alanları gruplar. Örneğin field1 ve field2, group.field1 ve group.field2 olarak yüklenir.

Liste düğümleri, tablolara bağlantı vermek için kullanılan anahtar alanlar oluşturacaktır. Örneğin, %Key_group.list. Listenin içindeki herhangi bir grup veya veri düğümünün ayrı bir load deyiminde yüklenmesi gerekir. Üst öğe listesinin anahtar alanı da eklenecektir.

Aşağıdaki örnekler, Parquet ve İç içe geçirilmiş verileri Parquet dosyalarında saklama kullanarak bir uygulamaya yüklenmiş, Veri yöneticisi örneğinde oluşturulan aynı iç içe geçirilmiş Veri yükleme düzenleyicisi dosyasını göstermektedir (Veri seç kısmından varsayılan komut dosyası ve özel komut dosyası ile).

Örnek: Veri yöneticisi

Veri yöneticisi içinde customer.parquet yükler ve tüm önerilen ilişkilendirmeleri uygularsanız, aşağıdaki veri modelini elde edersiniz:

Veri yöneticisi ile company.parquet yüklemek için veri modeli

Data model showing the tables company:salesrep.salesrep, company, company:headquarter.headquarter, and company:headquarter.headquarter.city:region.region

Örnek: Veri yükleme düzenleyicisi (Veri seç)

içinde Veri seçVeri yükleme düzenleyicisi ile veri yüklerseniz aşağıdaki komut dosyasını elde edersiniz:

LOAD company, contact, "%Key_company:headquarter", "%Key_company:salesrep" FROM [lib://AttachedFiles/company.parquet] (parquet); LOAD country, city, "%Key_city:region", "%Key_company:headquarter" FROM [lib://AttachedFiles/company.parquet] (parquet, table is [company:headquarter.headquarter]); LOAD region, "%Key_city:region" FROM [lib://AttachedFiles/company.parquet] (parquet, table is [company:headquarter.headquarter.city:region.region]); LOAD salesrep, "%Key_company:salesrep" FROM [lib://AttachedFiles/company.parquet] (parquet, table is [company:salesrep.salesrep]);

Veri modeli Veri modeli görüntüleyicisi içinde bunun gibi görünür.

içinde Veri seçVeri yükleme düzenleyicisi ile company.parquet tablosunu yüklemek için veri modeli

Data model showing the tables salesrep, company, headquarter, and region.

Örnek: Veri yükleme düzenleyicisi (Özel komut dosyası)

Özel bir komut dosyası kullanıyorsanız alanların ve tabloların customer.parquet tablosundan nasıl yükleneceği üzerinde daha fazla kontrol sahibi olursunuz. Aşağıdaki komut dosyası, company.parquet tablosundaki tabloları ve alanları yükler:

LOAD * FROM [lib://AttachedFiles/company.parquet] (parquet); LOAD *, Lookup('company', '%Key_company:salesrepo', [%Key_company:salesrep], 'company') as company; LOAD * FROM [lib://AttachedFiles/company.parquet] (parquet, table is [company:salesrep.salesrep]); DROP FIELD [%Key_company:salesrep]; LOAD *, Lookup('company', '%Key_company:headquarter', [%Key_company:headquarter], 'company') as company; LOAD * FROM [lib://AttachedFiles/company.parquet] (parquet, table is [company:headquarter.headquarter]); DROP FIELD [%Key_company:headquarter]; LOAD *, Lookup('city', '%Key_city:region', [%Key_city:region], 'headquarter') as city; LOAD * FROM [lib://AttachedFiles/company.parquet] (parquet, table is [company:headquarter.headquarter.city:region.region]); DROP FIELD [%Key_city:region];

Bu, verilerin Parquet dosyasında saklanmasından önceki orijinal veri modeliyle aynı olan aşağıdaki veri modelini oluşturur.

içinde özel bir komut dosyasıyla company.parquetVeri yükleme düzenleyicisi yüklemek için veri modeli

Data model with the tables headquarter, region, salesrep, and company, mirroring the exact data model from the source app.

Sınırlamalar

Parquet dosyaları aşağıdaki sınırlamalara sahiptir:

  • Bir int96 zaman damgası alanı içeren Parquet dosyaları doğru şekilde yüklenmeyebilir.

    Int96, saat dilimi bilgisi bulunmayan bir zaman damgası içeren, kullanımdan kaldırılmış bir veri türüdür. Alanı UTC olarak okuma girişimi yapılır ancak farklı satıcı uygulamaları olduğu için başarı garanti edilmez.

    Yüklenen verileri doğrulayın ve gerekirse bir fark değeri ile doğru saat dilimine ayarlayın.

Bu sayfa size yardımcı oldu mu?

Bu sayfa veya içeriği ile ilgili bir sorun; bir yazım hatası, eksik bir adım veya teknik bir hata bulursanız lütfen bize bildirin!