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.
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
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
[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
[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@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
[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
[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.
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.
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