Berbagi teknologi

Hadoop-23 Sqoop data MySQL ke HDFS (bagian) SQL menghasilkan data cluster HDFS Sqoop import jdbc ETL MapReduce

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Isi bab

Di bagian sebelumnya kami menyelesaikan konten berikut:

  • Tulis skrip SQL untuk menghasilkan data
  • Mulai layanan ketergantungan kami: HDFS, Hive, YARN
  • Sqoop mengimpor semua data ke Hive
  • Lihat status MapReduce, lihat hasil HDFS

Pengenalan latar belakang

Berikut adalah tiga server cloud jaringan publik, masing-masing 2C4G, yang membangun lingkungan belajar Hadoop untuk saya pelajari.
Saya pernah membangunnya di mesin virtual VM sebelumnya, tetapi saya tidak meninggalkan catatan apa pun Kali ini, saya memanfaatkan 3 mesin yang saya ambil beberapa hari yang lalu dan dengan cepat mencoba membangunnya di jaringan publik untuk. mengalaminya.

  • 2C4G No.h121
  • 2C4G No.h122
  • 2C2G No.h123

Masukkan deskripsi gambar di sini

Tindakan pencegahan

Apache Sqoop 于 2021 年 6 月迁入 Attic。
Misi Apache Sqoop adalah membuat dan memelihara perangkat lunak transfer data berskala besar yang terkait dengan Apache Hadoop dan penyimpanan data terstruktur.
Meskipun proyek tersebut mungkin sudah ketinggalan zaman, jika Anda memiliki cukup waktu, Anda dapat mempelajarinya dengan benar dan mungkin ini dapat membantu Anda! ! !

Impor sebagian: --query

Jalankan skrip

sqoop import 
--connect jdbc:mysql://h122.wzk.icu:3306/sqoop 
--username hive 
--password [email protected] 
--target-dir /root 
--append 
-m 1 
--fields-terminated-by "t" 
--query 'select gname, serialNumber, price, stock_number,
create_time from goodtbl where price>88 and $CONDITIONS;'
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

上述参数的解释:

  • Bagian mana dari pernyataan kueri harus berisi '$CONDITIONS'
  • Jika tanda kutip ganda digunakan setelah query, simbol transfer harus ditambahkan sebelum $CONDITIONS untuk mencegah shell berpikir bahwa itu adalah variabelnya sendiri.

Tugas

Dapat diamati bahwa Sqoop memulai tugas MapReduce
Masukkan deskripsi gambar di sini

Menunggu eksekusi

Pada titik ini tugas sudah mulai dialokasikan Peta -> Kurangi
Masukkan deskripsi gambar di sini

Lihat hasil

Anda dapat melihat bahwa tugas telah selesai
Masukkan deskripsi gambar di sini

Impor sebagian: tentukan kolom

Jalankan skrip

sqoop import 
--connect jdbc:mysql://h122.wzk.icu:3306/sqoop 
--username hive 
--password [email protected] 
--target-dir /root 
--delete-target-dir 
--num-mappers 1 
--fields-terminated-by "t" 
--columns gname,serialNumber,price 
--table goodtbl
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

上述参数的解释:

  • Jika ada beberapa kolom yang terlibat dalam kolom, pisahkan dengan koma dan jangan tambahkan spasi! ! !

Tugas

Konsisten dengan konten di atas, konten berulang tidak akan disertakan dan hanya sebagian yang akan disadap.
Masukkan deskripsi gambar di sini

Impor sebagian: --dimana

Jalankan skrip

sqoop import 
--connect jdbc:mysql://h122.wzk.icu:3306/sqoop 
--username hive 
--password [email protected] 
--target-dir /root 
--delete-target-dir 
-m 1 
--fields-terminated-by "t" 
--table goodtbl 
--where "price>=68"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

Tugas

Konsisten dengan hal di atas, konten, hasil, dll. pada dasarnya diulang dan tidak akan dihapus.

Silakan tambahkan deskripsi gambar