6 Mart 2016 Pazar

Sqoop ile Veri Aktarımları-2

Merhaba,
Sqoop yazılarıma devam ediyorum. Bir önceki yazımda sqoop’ un yüklenmesi ve konfigürasyon işlemlerini anlatmaya çalıştım. Bu blog yazımda artık kullanımına bakacağız.
Benim kullandığım vm içinde oracle 11g express edition yüklemiştim. Bu nedenle tüm database işlemlerini oracle üzerinde yapmak için oracle jdbc driver yüklemeniz gerekmektedir. Tabi siz sql server, teradata vs. kullanabilirsiniz.
Sqoop ile oracle gibi database sistemine veri yazılabilir ve oracledan data alınarak hdfs sistemine veya hbase sistemine veri yazılabilir. Bunun için oracle jdbc driver dowload edilmelidir.
Aşağıdaki vereceğim link’ te topluca tüm download edebileceğiniz linkler ve kurulumlar anlatılmıştır.
http://bnlconsulting.com/index.php/blog/item/93-getting-started-with-hadoop-and-sqoop
ojdbc6.jar dosyası aşağıdaki klasöre yüklenmelidir.
[hadoop@mmetincentosos lib]$ pwd
/home/hadoop/sqoop/lib
Sqoop çalıştırmak için sqoop yüklü klasöre girilir. ./sqoop yazılması yeterlidir.
[hadoop@mmetincentosos bin]$ pwd
/home/hadoop/sqoop/bin
[hadoop@mmetincentosos bin]$ ./sqoop
Try ‘sqoop help’ for usage. Mesajı çıkacaktır. ./sqoop tek başına kullanılmaz. Bundan sonra parametrelerin girilmesi gerekir. Aşağıda örnekler bulunmaktadır.
SQOOP IMPORT & EXPORT ISLEMLERI ((Hdfs Üzerinde))
Aşağıdaki komutlar yolu ile import ve export işlemi hdfs üzerinde gerçeklenir.
Oracle’ da yer alan EMP tablosunu hadoop sistemine atma
[hadoop@mmetincentosos bin]$ ./sqoop import –connect jdbc:oracle:thin:@localhost:1521/XE –username xxxx –password xxxx –table EMP –columns “EMPNO,ENAME” -m 1
Hadoop ta yer alan EMP dosyasını Oracle da EMP_EXPORT tablosuna atma. Emp_export create etmelisiniz.
[hadoop@mmetincentosos bin]$ ./sqoop export –connect jdbc:oracle:thin:@localhost:1521/XE –username xxxx –password xxxxx –table EMP_EXPORT -columns “EMPNO,ENAME” –export-dir /user/hadoop/EMP -m 1
burada -m 1 in anlamı: 1 paralelde çalışacak demek. eğer -m 8 yaparsam aktarma 8 paralelde çalışacak demektedir. (primary key e göre bölümlüyor bildiğim kadarıyla)
Hbase de yer alan test1 i Hadoop sisteminde DEPT adında klasöre atmak için
[hadoop@mmetincentosos bin]$ ./sqoop import –connect jdbc:oracle:thin:@localhost:1521/XE –username xxxxx –password xxxxx –table DEPT –columns “DEPTNO, DNAME, LOC” –hbase-table test1 –columns “ADI,SOYADI,TAKIMI” –column-family data –hbase-row-key DEPTNO –hbase-create-table -m 1
Hdfs file sisteminden import edilen bilgileri görebilirsiniz.
Bunun için http://localhost:50070 ten hdfs file sistemine bakabilirsiniz.
Not: Sqoop maalesef : does not support export from hbase to external system yet.
Sqoop işlemleri ve blog yazılarıma devam edeceğim. Bir sonraki blog yazımda hbase & sqoop ilişkisi ve job tanımlama ve bunları manage etmek konularında yazmak istiyorum.
Bugünkü blog yazımız bu kadar.
Bir sonraki blog yazımda görüşmek dileğiyle.
Lütfen, yorumlarınızı bekliyorum.
mmetin

http://tr.linkedin.com/in/muratmetin

Hiç yorum yok:

Yorum Gönder