Tüm Ürünler
Search
Belge Merkezi

Object Storage Service:EMR kümesinde Apache Sqoop kullanarak OSS-HDFS'de depolanan verilere okuma ve yazma erişimi uygulama

Son Güncelleme:Oct 01, 2026

Bu konu, bir E-MapReduce (EMR) kümesinde Apache Sqoop kullanarak OSS-HDFS'de depolanan verilere nasıl okuma ve yazma erişimi sağlanacağını açıklar.

Önkoşullar

  • EMR V3.42.0 veya sonraki bir sürümü ya da EMR V5.8.0 veya sonraki bir sürümü çalıştıran ve Sqoop bileşenini seçtiğiniz bir EMR kümesi oluşturdunuz. Daha fazla bilgi için bkz. Küme oluşturma.

  • OSS-HDFS'yi etkinleştirdiniz ve gerekli erişim izinlerini verdiniz. Daha fazla bilgi için bkz. OSS-HDFS'yi etkinleştirme.

Yordam

  1. EMR kümesine bağlanın.

    1. EMR konsoluna oturum açın. Sol gezinme bölmesinde EMR on ECS seçeneğine tıklayın.

    2. Oluşturduğunuz EMR kümesine tıklayın.

    3. Nodes sekmesine tıklayın ve düğüm grubunun solundaki + simgesine tıklayın.

    4. ECS Kimliğine tıklayın. Örnekler sayfasında, örnek kimliğinin yanındaki Connect seçeneğine tıklayın.

    SSH anahtar çifti veya parola kullanarak Windows veya Linux ortamından kümeye oturum açmak için bkz. Kümeye oturum açma.

  2. Verileri OSS-HDFS'den MySQL'e aktarın.

    sudo sqoop import --connect  <dburi>/<dbname> --username <username> --password <password> --table <tablename> --target-dir <oss-dir>  --temporary-rootdir <oss-tmpdir> --check-column <col> --incremental <mode> --last-value <value> --as-<format> -m <count>
    • Aşağıdaki tabloda komuttaki parametreler açıklanmaktadır.

      Parametre

      Gerekli

      Açıklama

      dburi

      Evet

      Veritabanı bağlantısı URI'si. Örnek: jdbc:mysql://192.168.xxx.xxx:3306/.

      dbname

      Evet

      Veritabanı adı.

      username

      Evet

      Veritabanında oturum açmak için kullanılan kullanıcı adı.

      password

      Evet

      Veritabanı kullanıcısının parolası.

      tablename

      Evet

      MySQL tablosu adı.

      oss-dir

      Evet

      İçe aktarılan veriler için OSS-HDFS'deki hedef dizin. Örnek: oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/dir/.

      oss-tmpdir

      Hayır

      İçe aktarma işi için geçici dizin. Bu parametre, 'append' artımlı içe aktarma modu için gereklidir.

      Mod parametresini append olarak ayarlarsanız Apache Sqoop verileri geçici bir dizine aktarır ve ardından dosyaları yeniden adlandırıp hedef dizinde depolar. Hedef dizin OSS-HDFS'de zaten varsa Apache Sqoop bu dizine veri aktarmaz veya dizindeki verilerin üzerine yazmaz.

      col

      Hayır

      Artımlı içe aktarma için kontrol sütunu.

      mode

      Hayır

      Artımlı içe aktarma modu. Geçerli değerler: append ve lastmodified.

      • append: Otomatik artan bir sütuna göre verileri artımlı olarak içe aktarır.

      • lastmodified: Zaman damgası sütununa göre verileri artımlı olarak içe aktarır.

      value

      Hayır

      Önceki artımlı içe aktarmadaki kontrol sütununun maksimum değeri.

      format

      Hayır

      Çıktı dosyası biçimi. Geçerli değerler: avrodatafile, sequencefile, textfile (varsayılan) ve parquetfile.

      count

      Hayır

      MapReduce görev sayısı.

    • Örnek

      Aşağıdaki örnek kod, examplebucket içindeki belirtilen bir dizindeki verilerin MySQL'deki src_kv tablosuna nasıl aktarılacağını gösterir:

      sqoop import --connect jdbc:mysql://master-1-1/sqoop_test --username root --password password1  --table src_kv -m 1 --target-dir oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/tmp/sqoop_kv --as-parquetfile