全部产品
Search
文档中心

E-MapReduce:Menggunakan Sqoop

更新时间:Jun 24, 2025

Apache Sqoop adalah alat yang dirancang untuk mentransfer data dalam jumlah besar secara efisien antara Apache Hadoop dan kumpulan data terstruktur, seperti database relasional.

Informasi latar belakang

Impor data dari MySQL ke HDFS

Jalankan perintah berikut pada Node master dari sebuah kluster:

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>

Parameter

Deskripsi

dburi

URL akses database. Contoh: jdbc:mysql://192.168.**.**:3306/.

dbname

Nama database.

username

Nama pengguna yang ingin Anda gunakan untuk masuk ke database.

password

Kata sandi yang ingin Anda gunakan untuk masuk ke database.

tablename

Nama tabel MySQL.

hdfs-dir

Direktori Sistem File Terdistribusi Hadoop (HDFS) ke mana Anda ingin mengimpor data. Contoh: /user/hive/result.

split-column

Opsional. Kolom yang ingin Anda gunakan untuk membagi tugas. Nilai default adalah kolom kunci utama.

col

Opsional. Kolom yang ingin Anda gunakan untuk menentukan baris yang akan diimpor dalam skenario impor tambahan.

mode

Opsional. Mode impor tambahan. Nilai valid: append dan lastmodified.

value

Opsional. Nilai maksimum kolom dalam impor tambahan sebelumnya.

Untuk informasi lebih lanjut tentang parameter, lihat bagian 7.2. Sintaksis dari Panduan Pengguna Sqoop.

Impor data dari HDFS ke MySQL

Setelah membuat tabel MySQL yang sesuai dengan struktur data HDFS, jalankan perintah berikut pada Node master dari sebuah kluster:

sqoop export --connect <dburi>/<dbname> --username <username> --password <password> --table <tablename> --export-dir <hdfs-dir>

Parameter

Deskripsi

dburi

URL akses database. Contoh: jdbc:mysql://192.168.**.**:3306/.

dbname

Nama database.

username

Nama pengguna yang ingin Anda gunakan untuk masuk ke database.

password

Kata sandi yang ingin Anda gunakan untuk masuk ke database.

tablename

Nama tabel MySQL.

hdfs-dir

Direktori Sistem File Terdistribusi Hadoop (HDFS) ke mana Anda ingin mengimpor data. Contoh: /user/hive/result.

Untuk informasi lebih lanjut tentang parameter, lihat bagian 7.2. Sintaksis dari Panduan Pengguna Sqoop.

Impor data dari MySQL ke Hive

Jalankan perintah berikut pada Node master dari sebuah kluster:

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>

Parameter

Deskripsi

dburi

URL akses database. Contoh: jdbc:mysql://192.168.**.**:3306/.

dbname

Nama database.

username

Nama pengguna yang ingin Anda gunakan untuk masuk ke database.

password

Kata sandi yang ingin Anda gunakan untuk masuk ke database.

tablename

Nama tabel MySQL.

col

Opsional. Kolom yang ingin Anda gunakan untuk menentukan baris yang akan diimpor dalam skenario impor tambahan.

mode

Opsional. Mode impor tambahan. Nilai valid: append dan lastmodified.

value

Opsional. Nilai maksimum kolom dalam impor tambahan sebelumnya.

hdfs-dir

Direktori Sistem File Terdistribusi Hadoop (HDFS) ke mana Anda ingin mengimpor data. Contoh: /user/hive/result.

hive-tablename

Nama tabel Hive.

Untuk informasi lebih lanjut tentang parameter, lihat bagian 7.2. Sintaksis dari Panduan Pengguna Sqoop.

Impor data dari Hive ke MySQL

Anda dapat menggunakan perintah yang sama seperti yang digunakan untuk mengimpor data dari HDFS ke MySQL. Pastikan menentukan direktori HDFS dari tabel Hive tempat Anda mengimpor data ke MySQL. Untuk informasi lebih lanjut, lihat Impor Data dari HDFS ke MySQL.

Impor data dari MySQL ke OSS

Jalankan perintah berikut pada Node master dari sebuah kluster:

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>

Parameter

Deskripsi

dburi

URL akses database. Contoh: jdbc:mysql://192.168.**.**:3306/.

dbname

Nama database.

username

Nama pengguna yang ingin Anda gunakan untuk masuk ke database.

password

Kata sandi yang ingin Anda gunakan untuk masuk ke database.

tablename

Nama tabel MySQL.

oss-dir

Direktori Object Storage Service (OSS) ke mana Anda ingin mengimpor data. Contoh: oss://<AccessKeyID>:<AccessKey_Secret>@<BucketName>.oss-cn-hangzhou-internal.aliyuncs.com/result.

oss-tmpdir

Direktori OSS ke mana Anda ingin menulis data sementara. Jika Anda mengatur parameter mode ke append, Anda harus menentukan parameter ini.

Jika Anda mengatur mode ke append, Apache Sqoop mengimpor data ke direktori sementara, lalu mengubah nama file di direktori sementara untuk menyimpan file ke direktori tujuan. Jika direktori tujuan ada di HDFS, Apache Sqoop tidak mengimpor data ke direktori tersebut atau menimpa data di direktori tersebut.

col

Opsional. Kolom yang ingin Anda gunakan untuk menentukan baris yang akan diimpor dalam skenario impor tambahan.

mode

Opsional. Mode impor tambahan. Nilai valid: append dan lastmodified.

value

Opsional. Nilai maksimum kolom dalam impor tambahan sebelumnya.

Untuk informasi lebih lanjut tentang parameter, lihat bagian 7.2. Sintaksis dari Panduan Pengguna Sqoop.

Impor data dari OSS ke MySQL

Setelah membuat tabel MySQL yang sesuai dengan struktur data OSS, jalankan perintah berikut pada Node master dari sebuah kluster:

sqoop export --connect <dburi>/<dbname> --username <username> --password <password> --table <tablename> --export-dir <oss-dir>

Parameter

Deskripsi

dburi

URL akses database. Contoh: jdbc:mysql://192.168.**.**:3306/.

dbname

Nama database.

username

Nama pengguna yang ingin Anda gunakan untuk masuk ke database.

password

Kata sandi yang ingin Anda gunakan untuk masuk ke database.

tablename

Nama tabel MySQL.

oss-dir

Direktori Object Storage Service (OSS) ke mana Anda ingin mengimpor data. Contoh: oss://<AccessKeyID>:<AccessKey_Secret>@<BucketName>.oss-cn-hangzhou-internal.aliyuncs.com/result.

Untuk informasi lebih lanjut tentang parameter, lihat bagian 7.2. Sintaksis dari Panduan Pengguna Sqoop.

Gunakan pernyataan SQL untuk mengimpor data

Jalankan perintah berikut:

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>

Parameter

Deskripsi

dburi

URL akses database. Contoh: jdbc:mysql://192.168.**.**:3306/.

dbname

Nama database.

username

Nama pengguna yang ingin Anda gunakan untuk masuk ke database.

password

Kata sandi yang ingin Anda gunakan untuk masuk ke database.

query-sql

Pernyataan SQL yang digunakan untuk memilih data yang ingin Anda impor. Contoh: SELECT * FROM profile WHERE id>1 AND \$CONDITIONS.

sp-column

Nama kolom yang akan dibagi. Dalam banyak kasus, nilai parameter ini adalah kunci utama tabel MySQL.

hdfs-dir

Direktori Sistem File Terdistribusi Hadoop (HDFS) ke mana Anda ingin mengimpor data. Contoh: /user/hive/result.

hive-tablename

Nama tabel Hive.

Untuk informasi lebih lanjut tentang parameter, lihat bagian 7.2. Sintaksis dari Panduan Pengguna Sqoop.