All Products
Search
Document Center

E-MapReduce:Sqoop FAQ

Last Updated:Jun 21, 2026

Topik ini merangkum masalah umum terkait Sqoop.

Timestamp bergeser 8 jam setelah impor

  • Masalah

    1. Misalnya, tabel test_table dalam sumber data ApsaraDB RDS berisi bidang timestamp. Saat Anda menjalankan kueri pada tabel sumber test_table di DMS, hasilnya menampilkan lima catatan dengan kolom id dan applied_at. Nilai dalam kolom applied_at berkisar dari 2024-06-14 10:08:04 hingga 2024-06-18 10:08:04 (bertambah satu hari setiap kali, dengan waktu tetap pukul 10:08:04).

    2. Jalankan perintah berikut untuk mengimpor data dari test_table ke 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 1
    3. Lakukan kueri terhadap hasil impor.

      Hasil menunjukkan bahwa bidang timestamp di HDFS bergeser mundur 8 jam.

      [root@master-1-1(xxx) ~]# hdfs dfs -cat /user/hadoop/output/part-m-00000
      1	2024-06-18 02:08:04
      2	2024-06-17 02:08:04
      3	2024-06-16 02:08:04
      4	2024-06-15 02:08:04
      5	2024-06-14 02:08:04
  • Solusi: Saat mengimpor data yang berisi bidang timestamp ke HDFS, hapus argumen --direct.

    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 1

    Hasil kueri sekarang menampilkan nilai yang benar.

    [root@master-1-1(xxx) ~]# hdfs dfs -cat /user/hadoop/output1/part-m-00000
    1	2024-06-18 10:08:04.0
    2	2024-06-17 10:08:04.0
    3	2024-06-16 10:08:04.0
    4	2024-06-15 10:08:04.0
    5	2024-06-14 10:08:04.0