Topik ini menjawab beberapa pertanyaan umum terkait Sqoop.
Apa yang harus saya lakukan jika waktu yang ditentukan oleh bidang timestamp delapan jam lebih awal dari waktu aslinya ketika saya mengimpor data dari ApsaraDB RDS ke E-MapReduce (EMR)?
Deskripsi:
Tabel test_table di ApsaraDB RDS memiliki bidang timestamp.

Perintah berikut digunakan untuk mengimpor data dari tabel test_table ke EMR HDFS:
sqoop import \ --connect jdbc:mysql://rm-2ze****341.mysql.rds.aliyuncs.com:3306/s***o_sqoop_db \ --username s***o \ --password ****** \ --table test_table \ --target-dir /user/hadoop/output \ --delete-target-dir \ --direct \ --split-by id \ --fields-terminated-by '|' \ -m 1Hasil impor diverifikasi.
Pada hasil kueri, waktu yang ditentukan oleh bidang timestamp delapan jam lebih awal dari waktu aslinya.

Solusi: Saat mengimpor data, hapus parameter --direct dari perintah impor.
sqoop import \ --connect jdbc:mysql://rm-2ze****341.mysql.rds.aliyuncs.com:3306/s***o_sqoop_db \ --username s***o \ --password ****** \ --table test_table \ --target-dir /user/hadoop/output \ --delete-target-dir \ --split-by id \ --fields-terminated-by '|' \ -m 1Hasil kueri menunjukkan waktu yang normal.
