2016-04-11 21 views
1

'a aktarın Merhaba HADOOP numaralı telefondan eğitim alıyorum. Ben sqoop kullanarak oracle (windows, 11g xe) hdfs için bir tablo verileri almak zorunda bir görev var. Aşağıdaki yazıyı okuyorum. Sorum şu ki, pencerelerden gelen verileri tam olarak nasıl hdfs olarak içe aktarırım. Noramally Windows'dan hdfs makinesine dosya aktarmak için Winscp kullanıyorum. Hdfs (cdh3) makinesinde yüklü olan MySql'dan veri aldım. Ama Oracle’dan veriyi hdfs’lere aktarmayı bilmiyorum. Lütfen yardım et.Verileri Oracle (Windows) ile HDFS (CDH3) makinesinden sqoop

Link that I am following

+0

özel yapılı Hadoop ortamını kullanarak veya CDH veya HDP ya da diğerleri gibi herhangi bir hazır tatlar kullanıyorsunuz? – SrinivasR

cevap

0

yerel makineye oracle veri almak gerekmez. Ardından HDFS makinesine kopyalayın. Ardından HDFS'ye içe aktarın.

Sqoop, RDBMS tablolarınızı HDFS dizinine almak için buradadır.

Kullanım komut:

sqoop import --connect 'jdbc:oracle:thin:@192.xx.xx.xx:1521:ORCL' --username testuser --password testpassword --table testtable --target-dir /tmp/testdata

sqoop çalıştığı makineye gidin. Terminale git ( I linux). Sadece belirtilen komutun üzerine ateş edin ve --target-dir ( numaralı belgede örnek komutunda /tmp/testdata numaralı belgeden bahsetmiştim) hdfs içinde kontrol edin. Orada oracle tablosuna karşılık gelen dosyaları bulacaksınız.

Daha fazla ayrıntı için sqoop'u docs işaretleyin.

+0

Bu yüzden bir yedeği almam ve Winscp kullanarak CDH3 makinesinde bu yedekleme dosyasını kopyalayıp sonra da sqoop'u HDFS'ye çekmem gerekiyor. Ben haklı mıyım? – user2998990

+0

@ user2998990 no no. bir şey kopyalamana gerek yok. sqoop herşeyi yapar. Sadece oracle için geçerli kimlik bilgileri sağla. –

+0

@ user2998990 güncel görüşü kontrol et –

4

ardından adım akıllıca bir işlemdir:

.Connect oracle sql komut satırı sizin kimlik bilgilerinizle giriş:

örneğin kullanıcı adı: Sistem şifre: Sistem

(emin olun bu kullanıcı tüm yönetici ayrıcalıklarına sahiptir veya Oracle'da sysdba olarak tüm privilegdes ile yeni bir kullanıcı yapın) Create a user with all privileges in Oracle

Cre o kullanıcı altında tabloları yedik ve bazı değerleri eklemek ve biz HDF'ler Oracle'dan bizim veri aktarımı için bir bağlayıcı gerek .Şimdi

taahhüt. Yani, biz oracle -sqoop konektörü kavanoz dosyayı indirmek ve CDH3 aşağıdaki yolu yerleştirin gerekir. (Kullanım sudo komutlarınıza aşağıdaki yolu kopyalanırken linux yönetici acess gereğine göre)

/usr/lib/sqoop/bin 

http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html --Kaynak bağlantısı - ojdbc6.jar

Karşıdan yüklenen kavanozu pencerelerden CDH3'e aktarmak için winscp kullanın ve CDH3'te yukarıda belirtilen yola taşıyın. .Komut:

sudo bin/sqoop import –connect jdbc:oracle:thin:system/[email protected]:1521:xe–username system -P –table system.emp –columns “ID” –target-dir /sqoopoutput1 -m 1 

sqoopoutput verilerinizi alacak HDF'ler içinde çıkışına dosya U uyarınca dis değiştirebilir, aşağıdadır

-m 1: Bu burada bu sqoop işi için haritacıları sayısını hiçbir söyler o 1.

192.168.xx.xx geçerli: 1521 - windows makinenin ip adresi

İlgili konular