Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Muat file csv besar ke tabel database Oracle menggunakan Pyspark

Mari saya tunjukkan contoh file kontrol yang saya gunakan untuk memuat file yang sangat besar ( 120 Juta catatan setiap hari )

OPTIONS (SKIP=0, ERRORS=500, PARALLEL=TRUE, MULTITHREADING=TRUE, DIRECT=TRUE, SILENT=(ALL))
UNRECOVERABLE
LOAD DATA
CHARACTERSET WE8ISO8859P1
INFILE '/path_to_your_file/name_of_the_file.txt'
BADFILE '/path_to_your_file/name_of_the_file.bad'
DISCARDFILE '/path_to_your_file/name_of_the_file.dsc'
APPEND
INTO TABLE yourtablename
TRAILING NULLCOLS
(
COLUMN1 POSITION(1:4) CHAR
,COLUMN2 POSITION(5:8)  CHAR
,COLUMN3 POSITION(9:11) CHAR
,COLUMN4 POSITION(12:18) CHAR
....
....)

Beberapa pertimbangan

  • Memuat berdasarkan posisi selalu lebih cepat daripada menggunakan pembatas
  • Gunakan opsi PARALLEL , MULTITHREADING dan DIRECT untuk mengoptimalkan kinerja pemuatan.
  • UNRECOVERABLE juga merupakan saran yang baik jika Anda selalu memiliki file jika Anda perlu memulihkan database, Anda perlu memuat data lagi.
  • Gunakan rangkaian karakter yang sesuai.
  • Klausa TRAILING NULLCOLS memberi tahu SQL*Loader untuk memperlakukan setiap kolom yang diposisikan secara relatif yang tidak ada dalam catatan sebagai kolom nol.
  • Posisi berarti setiap baris berisi data tanpa pembatas, jadi Anda mengetahui posisi setiap bidang dalam tabel berdasarkan panjangnya.

AAAAABBBBBBCCCCC19828733UUUU

  • Jika file txt atau csv Anda memiliki pemisah bidang, misalkan titik koma, maka Anda perlu menggunakan FIELDS DELIMITED BY

Ini disimpan dalam file kontrol, biasanya file teks dengan ekstensi ctl. Kemudian Anda memanggil dari baris perintah

sqlldr userid=youuser/[email protected]_string control=/path_to_control_file/control_file.ctl



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apakah ada fungsi hash di PL/SQL?

  2. ORA-00907:kurung kanan hilang (Dengan Contoh)

  3. Regex menangkap kata pertama sebelum karakter selanjutnya - oracle

  4. Urutan Hilang dalam HSQL untuk pengujian

  5. Oracle - Jejak Audit untuk pengguna tertentu