Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

Bekerja dengan data CSV di AWS Glue

Mode fokus
Bekerja dengan data CSV di AWS Glue - Amazon Athena

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Halaman ini menjelaskan AWS Glue cara menggunakan skema dari file CSV yang memiliki tanda kutip di sekitar nilai data untuk setiap kolom atau dari file CSV yang menyertakan nilai header.

Menangani data CSV terlampir dalam tanda kutip

Misalkan file CSV memiliki bidang data yang diapit tanda kutip ganda, seperti pada contoh berikut.

"John","Doe","123-555-1231","John said \"hello\"" "Jane","Doe","123-555-9876","Jane said \"hello\""

Untuk menjalankan kueri di Athena pada tabel yang dibuat dari file CSV yang memiliki nilai kutipan, Anda harus memodifikasi properti tabel AWS Glue untuk menggunakan Open De. CSVSer Untuk informasi selengkapnya tentang SerDe OpenCSV, lihat. Buka CSV SerDe untuk memproses CSV

Untuk mengedit properti tabel di AWS Glue konsol
  1. Di panel navigasi AWS Glue konsol, pilih Tabel.

  2. Pilih tautan untuk tabel yang ingin Anda edit, lalu pilih Tindakan, Edit tabel.

  3. Pada halaman Edit tabel, buat perubahan berikut:

    • Untuk Serialisasi lib, masukkan. org.apache.hadoop.hive.serde2.OpenCSVSerde

    • UntukParameter serde, masukkan nilai berikut untuk kunciescapeChar,quoteChar, danseparatorChar:

      • UntukescapeChar, masukkan garis miring terbalik (\).

      • UntukquoteChar, masukkan kutipan ganda (").

      • UntukseparatorChar, masukkan koma (,).

  4. Pilih Simpan.

Untuk informasi selengkapnya, lihat Melihat dan mengedit detail tabel di Panduan AWS Glue Pengembang.

Anda juga dapat memperbarui properti AWS Glue tabel secara terprogram. Gunakan operasi AWS Glue UpdateTableAPI atau AWS CLI perintah update-table untuk memodifikasi SerDeInfo blok dalam definisi tabel, seperti pada contoh JSON berikut.

"SerDeInfo": { "name": "", "serializationLib": "org.apache.hadoop.hive.serde2.OpenCSVSerde", "parameters": { "separatorChar": "," "quoteChar": "\"" "escapeChar": "\\" } },

Menangani file CSV dengan header

Jika Anda menentukan tabel di Athena denganCREATE TABLEpernyataan, Anda dapat menggunakanskip.header.line.countuntuk mengabaikan header dalam data CSV Anda, seperti dalam contoh berikut.

... STORED AS TEXTFILE LOCATION 's3://amzn-s3-demo-bucket/csvdata_folder/'; TBLPROPERTIES ("skip.header.line.count"="1")

Atau, Anda dapat menghapus header CSV terlebih dahulu sehingga informasi header tidak termasuk dalam hasil permintaan Athena. Salah satu cara untuk mencapainya adalah dengan menggunakan tugas AWS Glue , yang melakukan pekerjaan extract, transform, and load (ETL). Anda dapat menulis skrip dalam AWS Glue menggunakan bahasa yang merupakan perpanjangan dari dialek PySpark Python. Untuk informasi selengkapnya, lihat Menulis Pekerjaan di AWS Glue di Panduan AWS Glue Pengembang.

Contoh berikut menunjukkan fungsi dalam AWS Glue skrip yang menulis frame dinamis menggunakanfrom_options, dan menetapkan opsi writeHeader format ke false, yang menghapus informasi header:

glueContext.write_dynamic_frame.from_options(frame = applymapping1, connection_type = "s3", connection_options = {"path": "s3://amzn-s3-demo-bucket/MYTABLEDATA/"}, format = "csv", format_options = {"writeHeader": False}, transformation_ctx = "datasink2")
PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.