Saya menggunakan ArcGIS 10.0 pada Windows 7 64-bit dengan RAM 4GB.
Saya memiliki beberapa tabel yang sangat besar dalam format CSV untuk diimpor ke ArcGIS, semuanya memiliki sekitar 30 bidang, lebih dari 5 juta catatan per tabel (beberapa memiliki dua kali lipat atau lebih), dan ukuran file hingga sekitar 5 GB. Saya mencoba untuk mengimpor masing-masing ke file geodatabase sebagai tabel terpisah sehingga saya akhirnya bisa menghubungkan mereka ke kelas fitur dan menganalisis hasil dalam tabel sesuai dengan lokasi mereka.
Masalahnya adalah bahwa ArcGIS tampaknya hanya berhenti mengimpor catatan pada titik tertentu. Saya menggunakan alat "Table to Table" di bawah Konversi> Ke Geodatabase, tetapi alat "Salin Baris" memiliki masalah yang sama. Bahkan jika saya hanya menambahkan file CSV langsung ke ArcGIS tanpa mencoba mengubahnya ke tabel FGDB terlebih dahulu, masalahnya tetap sama. Salah satu meja saya memiliki sekitar 11 juta catatan, dan ArcGIS hanya mengimpor sekitar 10 juta saja. ArcGIS tidak memberi tahu saya bahwa ada kesalahan telah terjadi, alat hanya selesai seolah tidak ada yang salah.
Saya sudah mencobanya beberapa kali sekarang dan jumlah catatan yang membuatnya menjadi tabel FGDB selalu sama, dan sepertinya bukan batas ukuran file yang pernah saya dengar (bukan kuadrat 2 atau 16). ArcGIS dapat mengimpor CSV lain dengan sekitar 6 juta catatan dan semua catatan datang (meskipun dengan masalah yang saya alami dengan tabel yang lebih besar, yang lebih kecil adalah jenis tersangka sekarang juga). Situs web ESRI mencantumkan batas ukuran berikut dalam file geodatabase , dan saya jauh dari salah satu dari mereka:
- Ukuran file geodatabase: Tidak ada batasan
- Tabel atau ukuran kelas fitur: 1 TB (default), 4 GB atau 256 TB dengan kata kunci
- Jumlah kelas fitur dan tabel: 2.147.483.647
- Jumlah bidang dalam kelas fitur atau tabel: 65.534
- Jumlah baris dalam kelas fitur atau tabel: 2.147.483.647
- Panjang nama geodatabase: Jumlah karakter yang diizinkan sistem operasi dalam folder
- Kelas fitur atau panjang nama tabel: 160 karakter
- Panjang nama bidang: 64 karakter
- Lebar bidang teks: 2.147.483.647
Yang benar-benar perlu saya lakukan untuk tabel ini adalah menambahkan beberapa bidang, menghapus beberapa lainnya, dan menghasilkan nilai untuk bidang baru (jumlah dari beberapa bidang yang ada). Saya menggunakan ArcGIS untuk itu karena saya terbiasa dengan kalkulator lapangan dan saya tahu (atau tahu , sampai sekarang) bahwa ia dapat menangani tabel yang terdiri dari jutaan catatan, sedangkan sebagian besar perangkat lunak desktop lain yang saya miliki berguna (MS Access / Excel ) tersedak pada banyak catatan. Jadi saya terbuka untuk menggunakan beberapa perangkat lunak lain untuk memanipulasi tabel asli dan kemudian mengekspor tabel yang dihasilkan (jauh lebih kecil) ke ArcGIS. Sungguh, fakta bahwa saya mengalami masalah ini dan bahwa ArcGIS tidak memberi saya kesalahan atau peringatan bahwa masalah tersebut bahkan terjadi membuat saya ingin menangani data ini di luar ArcGIS sebanyak mungkin.
Jawaban:
Saya memang memanggil dukungan ESRI tentang ini dan jawaban mereka tidak membesarkan hati, tetapi itu menjelaskan masalahnya. Mengutip ESRI: Masalahnya adalah bahwa ArcGIS Desktop, menjadi perangkat lunak 32-bit, paling banyak menggunakan RAM 4GB. File teks harus diproses dalam RAM sebelum disimpan sebagai sebuah tabel, jadi di beberapa poing selama pemrosesan, ArcGIS mencapai batas RAM dan hanya berhenti di sana. File yang saya impor berukuran sekitar 6GB. Ternyata fakta bahwa itu gagal tanpa memberikan pesan kesalahan adalah unik bagi saya, saya mencoba meminta orang lain di kantor saya melakukannya dan impor masih gagal, tetapi memberikan pesan kesalahan (yang tidak membantu, tetapi setidaknya sesuatu yang membiarkan pengguna tahu ada yang salah), dan perwakilan ESRI mengatakan bahwa itu harus memberikan kesalahan.
Solusi saya adalah membagi file menjadi dua CSV yang lebih kecil menggunakan editor teks (saya menggunakan EditPad Pro), mengimpor masing-masing ke FGDB sebagai tabel terpisah, kemudian menggabungkan dua tabel FGDB. Untuk beberapa alasan ini gagal pertama kali saya mencobanya tetapi bekerja kemudian. Saya mungkin bisa menguji ini sedikit lebih lengkap, saya akan berurusan dengan file ukuran ini secara berkelanjutan.
Saya menggunakan ArcGIS 10.0, tetapi ArcGIS 10.1 paket layanan 1 baru saja dirilis dan menambahkan kemampuan untuk menggunakan geoprosesor latar 64-bit, yang akan membiarkan geoprosesor menggunakan lebih dari 4GB RAM, yang dapat memperbaiki masalah ini tetapi saya tidak bisa ujilah itu.
UPDATE: Saya sekarang menggunakan ArcGIS 10.1 SP1 (dengan addon geoprocessing latar 64-bit) dan berhasil mengimpor .CSVs raksasa ini, setidaknya yang saya bahas sejauh ini. Pada mesin dengan 14GB RAM (ya, 14), 6GB .CSV dengan sekitar 10,5 juta baris berhasil diimpor ke tabel FGDB.
sumber
Untuk keperluan pemuatan data, membaca file CSV besar ke dalam memori agak konyol. Hanya perlu membaca 1 baris setiap saat.
Saya akan menyarankan menulis skrip Python dan menggunakan
csv
modul untuk membacanya baris demi baris dan memasukkan baris ke dalam tabel menggunakanInsertCursor
(atau lebih disukaiarcpy.da.InsertCursor
karena lebih cepat, tetapi hanya tersedia di 10.1).Sunting: Baca saja paragraf terakhir Anda. Sepertinya Anda sebenarnya bisa melakukan ini di dalam Python dengan mudah, bahkan mengekspor hasilnya kembali ke CSV atau format lain.
Jika Anda bisa menggambarkan dengan tepat apa yang perlu Anda lakukan dengan setiap baris dan kolom yang akan membantu.
sumber
Sudahkah Anda mencoba membagi file csv 5GB menjadi kecil.
ada alat untuk membagi csv berdasarkan baris atau jumlah file.
Membagi file dan kemudian mencoba untuk mengimpor .. Tapi ada batasan dalam alat ini, saya pikir itu hanya akan berfungsi untuk tabel dalam file (saya pikir begitu). tolong cobalah.
http://www.shivaranjan.com/2008/11/06/how-to-split-csv-file-into-multiple-parts-easily-and-quickly/
sumber
Saya mengalami kesalahan ini (001156) pada baris yang sama dari file teks yang dibatasi pipa besar (2,712.391) baris sekitar seperempat dari jalan melalui.
Jadi saya pikir ada sesuatu yang salah dengan garis itu, tetapi itu identik dengan sisa baris.
Saya akhirnya menghapus baris dari impor parsial dan kemudian memuat data (Load> Load Data ...) dan bisa mendapatkan semua baris 2M +.
Saya juga menggunakan 10.1 SP1 w / 64 bit latar belakang geoprocessing pada 16GB RAM dan ini adalah proses yang akan memanfaatkan RAM (tidak setiap proses diaktifkan dalam 64-bit belum).
Penanganan lambat, klunky, tetapi bekerja secara konsisten.
Anda mungkin harus menyiapkan tabel kosong terlebih dahulu jika Anda tidak berhasil dengan tingkat impor apa pun.
sumber