All Products
Search
Document Center

Object Storage Service:Gunakan Apache Sqoop pada kluster EMR untuk mengimplementasikan akses baca dan tulis ke data yang disimpan di OSS-HDFS

Last Updated:Apr 29, 2026

Topik ini menjelaskan cara menggunakan Apache Sqoop pada kluster E-MapReduce (EMR) untuk mengimplementasikan akses baca dan tulis ke data yang disimpan di OSS-HDFS.

Prasyarat

  • Anda telah membuat kluster EMR yang menjalankan EMR V3.42.0 atau versi lebih baru, atau EMR V5.8.0 atau versi lebih baru, serta memilih komponen Sqoop. Untuk informasi selengkapnya, lihat Create a cluster.

  • Anda telah mengaktifkan OSS-HDFS dan memberikan izin akses yang diperlukan. Untuk informasi selengkapnya, lihat Activate OSS-HDFS.

Prosedur

  1. Hubungkan ke kluster EMR.

    1. Masuk ke Konsol EMR. Di panel navigasi kiri, klik EMR on ECS.

    2. Klik kluster EMR yang telah Anda buat.

    3. Klik tab Nodes, lalu klik ikon + di sebelah kiri kelompok node.

    4. Klik ID ECS. Di halaman Instances, klik Connect di samping ID instans.

    Untuk masuk ke kluster dari lingkungan Windows atau Linux menggunakan Pasangan kunci SSH atau kata sandi, lihat Log on to a cluster.

  2. Impor data dari OSS-HDFS ke MySQL.

    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>
    • Tabel berikut menjelaskan parameter dalam perintah tersebut.

      Parameter

      Wajib

      Deskripsi

      dburi

      Ya

      URI koneksi database. Contoh: jdbc:mysql://192.168.xxx.xxx:3306/.

      dbname

      Ya

      Nama database.

      username

      Ya

      Username untuk login ke database.

      password

      Ya

      Password untuk pengguna database.

      tablename

      Ya

      Nama tabel MySQL.

      oss-dir

      Ya

      Direktori tujuan di OSS-HDFS untuk data yang diimpor. Contoh: oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/dir/.

      oss-tmpdir

      Tidak

      Direktori temporary untuk pekerjaan impor. Parameter ini wajib digunakan untuk mode impor incremental 'append'.

      Jika Anda mengatur parameter mode ke append, Apache Sqoop akan mengimpor data ke direktori temporary, lalu mengganti nama dan menyimpan file tersebut ke direktori tujuan. Jika direktori tujuan sudah ada di OSS-HDFS, Apache Sqoop tidak akan mengimpor data ke direktori tersebut atau menimpa data yang sudah ada.

      col

      Tidak

      Kolom pemeriksaan untuk impor incremental.

      mode

      Tidak

      Mode impor incremental. Nilai yang valid: append dan lastmodified.

      • append: Mengimpor data secara incremental berdasarkan kolom auto-increment.

      • lastmodified: Mengimpor data secara incremental berdasarkan kolom timestamp.

      value

      Tidak

      Nilai maksimum dari kolom pemeriksaan pada impor incremental sebelumnya.

      format

      Tidak

      Format file output. Nilai yang valid: avrodatafile, sequencefile, textfile (default), dan parquetfile.

      count

      Tidak

      Jumlah tugas MapReduce.

    • Contoh

      Kode contoh berikut menunjukkan cara mengimpor data dari direktori tertentu di examplebucket ke tabel src_kv di MySQL:

      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