Büyük veri ortamlarında operasyonel işlerden biri olan rdbms veri tabanları ile büyük veri ortamları arasında verinin taşınmasıdır. Çalışma ortamı olarak oracle’ın ücretsiz olarak sanallaştırılmış büyük veri ortamını kullanabilirsiniz.

Bu yazıda oracle data integrator ürününün knowlodge modüllerini kullanarak oracle veri tabanı ile hive ortamına datanın aktarılmasını inceleyeceğiz.

ODI hdfs üzerinde çeşitli dosya türleri (Json, Avro, Delimited ve Parquet ) üzerinde okuma/yazma işlemlerini yapabilir. Odi reverse-engineer ile hdfs üzerideki tablonun schemasına erişim sağlar.

Aynı zamanda odi, oracle ve hdfs gibi farklı veri kaynaklarından dataları etl süreçlerinden geçirerek hive veri tabanına yazabilme imkanı sunar.

Odi üzerinden hive veri tabanına erişim sağlayabilmek için hive topology tanımlamaya ihtiyacımız bulunmaktadır. Hive topology, jdbc bağlantısı ile hive’a bağlanmaktadır.

 

LKM SQL to Hive SQOOP

Bu km sqoop’u kullarak oracle veri tabanından hive ortamına datayı aktarabiliriz.

MOVIE, oracle veri tabanında bulunan bir tablodur. Movie_update ise hive ortamında bulunan bir tablodur.

Aşağıdaki ekran görüntüsünde gözüktüğü üzere km olarak “LKM SQL to Hive SQOOP” kullanılmaktadır. Bu km öncelikle hive ortamında geçici tablo oluşturulur. Km’nin option’larında sqoop için verdiğimiz değerlerle sqoop komutunu çalıştırarak veriyi oracle veri tabanından çekmekteyiz. Geçici tabloya aktarılan veri, hive tablosuna import ediltikten sonra drop edilir.

LKM SQL to Hive SQOOP knowlodge modülün seçeneklerini inceleyelim.

  • DELETE_TEMPORARY_OBJECTS: Mapping işlemi sonunda geçici objelerin silinmesinin belirlenmesi
  • SQOOP_PARALLELISM: Sqoop paralel sayısının ayarlanması
  • SPLIT_BY: Paralel aşamasında split kolonun belirlenmesi
  • BOUNDARY_QUERY: Split_by değerindeki kolonu kullanılarak min/max değerlerin belirlenmesi
  • TEMP_DIR: Geçici dosyaların tutulduğu dizin
  • MAPRED_OUTPUT_BASE _DIR: MapReducu işleminde geçici olarak dataların tutulduğu hdfs dizini

 

LKM Hive to Oracle OLH-OSCH

Bu km ile Oracle Loader for Hadoop (OLH) ve/veya Oracle SQL Connector for Hadoop (OSCH) kullanarak hive tablosunda bulunan veriyi oracle veri tabanına yüklerken kullanırız.

LKM Hive to Oracle OLH-OSCH knowlodge modülün option’larını öğrenelim.

  • USE_HIVE_STAGING_TABLE: False olarak ayarlanırsa, OLH doğrudan Hive kaynak verilerine erişir.
  • DELETE_TEMPORARY_OBJECTS: Mapping işlemi sonunda geçici objelerin silinmesinin belirlenmesi
  • OLH_OUTPUT_MODE: Verinin oracle veri tabanına hangi modda aktarılacağını belirlenir. Modlar: JDBC, OCI, DP_COPY, DP_OSCH, OSCH
  • REJECT_LIMIT: OLH/EXTTAB için maksimum hata sayısını belirlemek için kullanılır.
  • EXT_TAB_DIR_LOCATION: External tabloların dosya sistem yolu.