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.
Parquet dosyaları oluşturma
Komut dosyasındaki Store komutunu kullanarak Parquet 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 bk. Store.
Parquet dosyalarından veri okuma
Qlik Sense tarafından desteklenen diğer veri dosyalarında olduğu gibi, bir Parquet 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:
Daha fazla bilgi için bk. 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.
Düğümlerin nasıl birleştirilmesi gerektiğini belirtmek için Sınırlayıcı: belirticisini kullanabilirsiniz. Sınırlayıcı içermeyen iç içe geçmiş verilerin bulunduğu dosyayı yükleyen bir LOAD deyimi, FieldNameDelimiter komut dosyası değişkeni tarafından belirtilen değeri kullanır. Sınırlayıcı verilmemiş ve FieldNameDelimiter ayarlanmamışsa varsayılan sınırlayıcı '.' olacaktı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, Veri yöneticisi ve Veri yükleme düzenleyicisi kullanarak bir uygulamaya yüklenmiş İç içe geçirilmiş verileri Parquet dosyalarında saklama örneğinde oluşturulan aynı iç içe geçirilmiş Parquet 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:
Örnek: Veri yükleme düzenleyicisi (Veri seç)
Veri yükleme düzenleyicisi içinde Veri seç ile veri yüklerseniz aşağıdaki komut dosyasını elde edersiniz:
Veri modeli Veri modeli görüntüleyicisi içinde bunun gibi görünür.
Ö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:
Bu, verilerin Parquet dosyasında saklanmasından önceki orijinal veri modeliyle aynı olan aşağıdaki veri modelini oluşturur.
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.