All Products
Search
Document Center

E-MapReduce:Panduan pengguna Sqoop

Last Updated:Mar 26, 2026

Apache Sqoop mentransfer data dalam jumlah besar antara Apache Hadoop dan dataset terstruktur, seperti database relasional. Gunakan Sqoop untuk memindahkan data antara MySQL, Hadoop Distributed File System (HDFS), Hive, dan Object Storage Service (OSS) pada kluster EMR.

Jalankan semua perintah pada node master kluster Anda.

Skenario yang didukung

Impor data dari MySQL ke HDFS

sqoop import --connect <dburi>/<dbname> --username <username> --password <password> \
  --table <tablename> --target-dir <hdfs-dir> \
  --split-by <split-column> \
  --check-column <col> --incremental <mode> --last-value <value>
ParameterWajibDeskripsi
dburiWajibURL akses database. Contoh: jdbc:mysql://192.168..:3306/
dbnameWajibNama database
usernameWajibUsername untuk login ke database
passwordWajibPassword untuk login ke database
tablenameWajibNama tabel MySQL
hdfs-dirWajibDirektori HDFS tempat menulis data. Contoh: /user/hive/result
split-columnOpsionalKolom yang digunakan untuk memisahkan tugas paralel. Nilai default adalah kolom kunci primer
colOpsionalKolom yang digunakan untuk mengidentifikasi baris dalam impor inkremental
modeOpsionalMode impor inkremental. Nilai yang valid: append dan lastmodified
valueOpsionalNilai maksimum kolom dari impor inkremental sebelumnya

Untuk referensi parameter lengkap, lihat Syntax dalam Sqoop User Guide.

Impor data dari HDFS ke MySQL

Sebelum menjalankan perintah ini, buat tabel MySQL yang skemanya sesuai dengan struktur data HDFS.

sqoop export --connect <dburi>/<dbname> --username <username> --password <password> \
  --table <tablename> --export-dir <hdfs-dir>
ParameterWajibDeskripsi
dburiWajibURL akses database. Contoh: jdbc:mysql://192.168..:3306/
dbnameWajibNama database
usernameWajibUsername untuk login ke database
passwordWajibPassword untuk login ke database
tablenameWajibNama tabel MySQL
hdfs-dirWajibDirektori sumber HDFS. Contoh: /user/hive/result

Untuk referensi parameter lengkap, lihat Syntax dalam Sqoop User Guide.

Impor data dari Hive ke MySQL

Tabel Hive disimpan sebagai file di HDFS. Untuk mengekspor tabel Hive ke MySQL, gunakan perintah sqoop export yang sama seperti pada Impor data dari HDFS ke MySQL, dengan menentukan direktori HDFS tabel Hive sebagai --export-dir.

Impor data dari MySQL ke Hive

sqoop import --connect <dburi>/<dbname> --username <username> --password <password> \
  --table <tablename> \
  --check-column <col> --incremental <mode> --last-value <value> \
  --fields-terminated-by "\t" --lines-terminated-by "\n" \
  --hive-import --target-dir <hdfs-dir> --hive-table <hive-tablename>
ParameterWajibDeskripsi
dburiWajibURL akses database. Contoh: jdbc:mysql://192.168..:3306/
dbnameWajibNama database
usernameWajibUsername untuk login ke database
passwordWajibPassword untuk login ke database
tablenameWajibNama tabel MySQL
hdfs-dirWajibDirektori staging HDFS sementara. Contoh: /user/hive/result
hive-tablenameWajibNama tabel Hive tujuan
colOpsionalKolom yang digunakan untuk mengidentifikasi baris dalam impor inkremental
modeOpsionalMode impor inkremental. Nilai yang valid: append dan lastmodified
valueOpsionalNilai maksimum kolom dari impor inkremental sebelumnya

Untuk referensi parameter lengkap, lihat Syntax dalam Sqoop User Guide.

Impor data dari MySQL ke OSS

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>
ParameterWajibDeskripsi
dburiWajibURL akses database. Contoh: jdbc:mysql://192.168..:3306/
dbnameWajibNama database
usernameWajibUsername untuk login ke database
passwordWajibPassword untuk login ke database
tablenameWajibNama tabel MySQL
oss-dirWajibDirektori tujuan OSS. Contoh: oss://<AccessKeyId>:<AccessKeySecret>@<BucketName>.oss-cn-hangzhou-internal.aliyuncs.com/result
oss-tmpdirWajib jika mode=appendDirektori temporary OSS. Ketika mode bernilai append, Sqoop menulis data ke direktori ini terlebih dahulu, lalu mengganti nama file ke direktori tujuan. Jika direktori tujuan sudah ada di HDFS, Sqoop tidak akan mengimpor atau menimpa data
colOpsionalKolom yang digunakan untuk mengidentifikasi baris dalam impor inkremental
modeOpsionalMode impor inkremental. Nilai yang valid: append dan lastmodified
valueOpsionalNilai maksimum kolom dari impor inkremental sebelumnya

Untuk referensi parameter lengkap, lihat Syntax dalam Sqoop User Guide.

Impor data dari OSS ke MySQL

Sebelum menjalankan perintah ini, buat tabel MySQL yang skemanya sesuai dengan struktur data OSS.

sqoop export --connect <dburi>/<dbname> --username <username> --password <password> \
  --table <tablename> --export-dir <oss-dir>
ParameterWajibDeskripsi
dburiWajibURL akses database. Contoh: jdbc:mysql://192.168..:3306/
dbnameWajibNama database
usernameWajibUsername untuk login ke database
passwordWajibPassword untuk login ke database
tablenameWajibNama tabel MySQL
oss-dirWajibDirektori sumber OSS. Contoh: oss://<AccessKeyId>:<AccessKeySecret>@<BucketName>.oss-cn-hangzhou-internal.aliyuncs.com/result

Untuk referensi parameter lengkap, lihat Syntax dalam Sqoop User Guide.

Gunakan pernyataan SQL untuk mengimpor data

Gunakan --query untuk memfilter baris dengan pernyataan SQL kustom alih-alih mengimpor seluruh tabel.

sqoop import --connect <dburi>/<dbname> --username <username> --password <password> \
  --query <query-sql> --split-by <sp-column> \
  --hive-import --hive-table <hive-tablename> --target-dir <hdfs-dir>
ParameterWajibDeskripsi
dburiWajibURL akses database. Contoh: jdbc:mysql://192.168..:3306/
dbnameWajibNama database
usernameWajibUsername untuk login ke database
passwordWajibPassword untuk login ke database
query-sqlWajibPernyataan SQL untuk memilih data yang akan diimpor. Harus menyertakan $CONDITIONS. Contoh: SELECT * FROM profile WHERE id>1 AND \$CONDITIONS
sp-columnWajibKolom yang digunakan untuk memisahkan tugas paralel. Biasanya kunci primer tabel MySQL
hdfs-dirWajibDirektori staging HDFS sementara. Contoh: /user/hive/result
hive-tablenameWajibNama tabel Hive tujuan

Untuk referensi parameter lengkap, lihat Syntax dalam Sqoop User Guide.