আর্কজিআইএস এফজিডিবি টেবিলের আকার সীমাতে থাকা সত্ত্বেও জিওডাটাবেস টেবিল ফাইল করতে বিশাল সিএসভি ফাইল থেকে সমস্ত রেকর্ড আমদানি করতে ব্যর্থ হয়


11

আমি 4 জিবি র‌্যাম সহ উইন্ডোজ 7 64-বিটে আরকিজিআইএস 10.0 ব্যবহার করছি।

আমার কাছে আরসিজিআইএসে আমদানির জন্য সিএসভি ফর্ম্যাটে কয়েকটি খুব বড় টেবিল রয়েছে, সেগুলির প্রায় 30 টি ক্ষেত্র রয়েছে, প্রতি টেবিলে 5 মিলিয়ন রেকর্ডের উপরে (কয়েকটিতে এর দ্বিগুণ বা তার বেশি থাকে) এবং প্রায় 5 জিবি পর্যন্ত ফাইলের আকার থাকে। আমি তাদের প্রত্যেককে আলাদা আলাদা টেবিল হিসাবে একটি ফাইল জিওডাটাবেজে আমদানি করার চেষ্টা করছি যাতে আমি শেষ পর্যন্ত তাদের কোনও বৈশিষ্ট্য শ্রেণিতে লিঙ্ক করতে পারি এবং সারণির ফলাফলগুলি তাদের অবস্থান অনুসারে বিশ্লেষণ করতে পারি।

সমস্যাটি হ'ল আর্কজিআইএস কেবল একটি নির্দিষ্ট পয়েন্টে রেকর্ড আমদানি ছাড়বে বলে মনে হচ্ছে। আমি "টেবিল থেকে টেবিল" সরঞ্জামটি রূপান্তর> জিওডাটাবেস-এর অধীনে ব্যবহার করছি তবে "কপির অনুলিপি" সরঞ্জামটি একই সমস্যা। এমনকি যদি আমি প্রথমে কোনও এফজিডিবি টেবিলটিতে রূপান্তর না করার চেষ্টা করে সরাসরি সিএসভি ফাইলটি সরাসরি আর্কজিআইএস-এ যুক্ত করি তবে সমস্যাটি একই। আমার একটি টেবিলের প্রায় 11 মিলিয়ন রেকর্ড রয়েছে এবং আরকজিআইএস কেবল সেগুলির মধ্যে প্রায় 10 মিলিয়ন আমদানি করে। আরকজিআইএস আমাকে জানায় না যে কোনও ত্রুটি ঘটেছে, সরঞ্জামটি ঠিক এমনভাবে শেষ হয়েছে যেন কিছুই ভুল নেই।

আমি এখন কয়েকবার চেষ্টা করেছি এবং এফজিডিবি সারণিতে এটি তৈরি করে এমন রেকর্ডের সংখ্যা সর্বদা একই থাকে এবং আমি কখনও শুনেছি এমন একটি ফাইল আকার সীমা হিসাবে উপস্থিত হয় না (2 বা এর স্কোয়ার নয়) 16)। আর্কজিআইএস প্রায় million মিলিয়ন রেকর্ড সহ আরেকটি সিএসভি আমদানি করতে সক্ষম হয়েছিল এবং সমস্ত রেকর্ড রেকর্ড হয়েছে (যদিও আমি বড় টেবিলের সাথে যে সমস্যাগুলি নিয়ে আসছি, তার চেয়ে ছোটটি এখন সন্দেহজনকও বটে)) ইএসআরআইয়ের ওয়েব সাইট একটি ফাইল জিওডাটাবেজে নিম্নলিখিত আকারের সীমাটি তালিকাভুক্ত করেছে এবং আমি তাদের কোনওটিকেই আঘাত করা থেকে দূরে:

  • ফাইল জিওডাটাবেস আকার: সীমা নেই
  • সারণী বা বৈশিষ্ট্য শ্রেণীর আকার: 1 টিবি (ডিফল্ট), 4 জিবি বা 256 টিবি কীওয়ার্ড সহ
  • বৈশিষ্ট্য শ্রেণি এবং সারণীর সংখ্যা: 2,147,483,647
  • বৈশিষ্ট্য শ্রেণি বা সারণীতে ক্ষেত্রের সংখ্যা: 65,534
  • বৈশিষ্ট্য শ্রেণি বা সারণীতে সারিগুলির সংখ্যা: 2,147,483,647
  • জিওডাটাবেস নামের দৈর্ঘ্য: কোনও ফোল্ডারে অপারেটিং সিস্টেমের অক্ষরগুলির সংখ্যা
  • বৈশিষ্ট্য বর্গ বা টেবিলের নাম দৈর্ঘ্য: 160 টি অক্ষর
  • মাঠের নাম দৈর্ঘ্য: 64 টি অক্ষর
  • পাঠ্য ক্ষেত্রের প্রস্থ: 2,147,483,647

এই টেবিলগুলিতে আমার যা করতে হবে তা হ'ল কয়েকটি ক্ষেত্র যুক্ত করা, অন্য কয়েকজনকে মুছে ফেলা এবং নতুন ক্ষেত্রগুলির জন্য মান উত্পন্ন করা (বিদ্যমান কয়েকটি ক্ষেত্রের যোগফল)। আমি এর জন্য আর্কজিআইএস ব্যবহার করছি কারণ আমি ফিল্ড ক্যালকুলেটরটির সাথে পরিচিত এবং আমি জানি (বা এখনও জানতাম ) এটি লক্ষ লক্ষ রেকর্ডের সমন্বয়ে থাকা টেবিলগুলি পরিচালনা করতে পারে, যেখানে বেশিরভাগ অন্যান্য ডেস্কটপ সফ্টওয়্যার আমার হাতে রয়েছে (এমএস অ্যাক্সেস / এক্সেল) ) যে অনেক রেকর্ড উপর chokes। সুতরাং আমি আসল টেবিলটি পরিচালনা করতে আরও কিছু সফ্টওয়্যার ব্যবহার করে এবং তারপরে আরকজিআইএসে (অনেক ছোট) ফলাফল টেবিলটি রফতানি করার জন্য উন্মুক্ত। সত্যই, আমি যে এই সমস্যাটি নিয়ে এসেছি এবং আরকজিআইএস আমাকে কোনও ত্রুটি বা সতর্কতা দিচ্ছে না যে সমস্যাটিও ঘটছে তা আমাকে আর্কজিআইএসের বাইরে যতটা সম্ভব এই ডেটা পরিচালনা করতে চায়।


2
যদি "এফজিডিবি সারণিতে এটি রেকর্ডের সংখ্যা সর্বদা একই থাকে" তবে আমি শেষ এবং পরবর্তী রেকর্ডগুলিতে একবার দেখে নিই কিনা সেগুলিতে এমন কিছু থাকতে পারে যা পূর্বে সাফল্যের সাথে আমদানি করা লক্ষ লক্ষ লোকের তুলনায় অসঙ্গত দেখায় whether
পলিজিও

1
ভাল ধারণা. আমি ছেঁটে যাওয়া এফজিডিবি টেবিলের সর্বশেষ রেকর্ড এবং এর পরে রেকর্ডের (সিএসভি থেকে) মধ্যে কোনও পার্থক্য দেখতে পাচ্ছি না। আমি কেবল উত্স সিএসভি থেকে সফলভাবে আমদানিকৃত সমস্ত রেকর্ড সরিয়ে দেওয়ার চেষ্টা করেছি, তারপরে বাকীটি অন্য এফজিডিবি সারণিতে আমদানি করেছি এবং এটি কার্যকর হয়েছে worked সুতরাং এটি কোনও একটি রেকর্ড নিয়ে সমস্যা বলে মনে হচ্ছে না। বিষয়টিকে আরও খারাপ করার জন্য, আমি দুটি এফজিডিবি টেবিল একত্রীকরণ করেছি (তাদের দুজনের মধ্যে আমার কাছে সমস্ত উত্সের রেকর্ড রয়েছে), এবং আরকজিআইএস আবার সব কিছু ঠিকঠাক করে দেখায়, তবে মার্জ টেবিলটিতে দু'জনের 10.9 মিলিয়ন রেকর্ডের মধ্যে কেবল 9.6 মিলিয়ন রয়েছে এফজিডিবি টেবিলগুলি।
ড্যান সি

আপনি কি ইএসআরআই দিয়ে কোনও সমর্থন ঘটনা খুলেছেন? এই মুহুর্তে এটি মনে হয়, আপনি সম্ভবত আবিষ্কার করেছেন যে এটি সম্ভবত গুরুতর সমস্যা হতে পারে। যদি অন্য কিছু না হয় তবে সমর্থন কর্মীরা কেবল এটি সম্পর্কে জানতে আগ্রহী হবেন কারণ তারা ইতিমধ্যে কোনও সমাধান জানতে পারে, বা পরীক্ষায় সহায়তা করতে আগ্রহী।
স্থানিক

আমি স্পাটিয়াল পাওয়ার সাথে একমত তবে আপনি যে একটি শেষ পরীক্ষা চালাতে চাইতে পারেন তা হল এমন একটি ক্ষেত্রের সাথে একটি সিএসভি ফাইল তৈরি করা যেখানে আপনি অভিন্ন মান রাখেন (সম্ভবত "পরীক্ষা")। যদি আপনার তত্ত্বটি 9,6 মিলিয়ন সর্বাধিক হয় তবে এই সীমাটি যে কোনও সময় আঘাত হারাবে যখন "পরীক্ষা" এর 10 মিলিয়ন লাইন ব্যবহার করা হবে, তবে 9.5 মিলিয়ন লাইনগুলি কখন নয়।
পলিজিও

আমি এখন অন্যরকম, তবে বৃহত্তর (১০ মিলিয়নেরও বেশি রেকর্ড) সিএসভি দিয়ে চেষ্টা করেছি এবং এটি একইভাবে ব্যর্থ হয়েছে তবে ভিন্ন লাইনে (প্রায় ৮.৯ মিলিয়ন রেকর্ড পাওয়া যায়)। সুতরাং এটি কোনও নির্দিষ্ট রেকর্ড, বা একটি নির্দিষ্ট টেবিলের আকার বলে মনে হচ্ছে না। আমি দুটি ক্ষেত্রের সাথে একটি পরীক্ষার সিএসভি চেষ্টা করব এবং যা ঘটে তা দেখব। আমি সোমবার ইএসআরআই কল করব যদিও কোনও ত্রুটি বার্তা না দিয়ে এই প্রক্রিয়াটি অগ্রহণযোগ্য এবং এমনকি এটি রেকর্ডগুলিও সন্দেহযুক্ত করে তোলে।
ড্যান সি

উত্তর:


9

আমি এ বিষয়ে ইএসআরআই সমর্থনকে কল করেছি এবং তাদের উত্তর উত্সাহজনক ছিল না, তবে এটি সমস্যার ব্যাখ্যা দিয়েছে। প্যারাফ্রেসিং ইএসআরআই: সমস্যাটি হ'ল আর্কজিআইএস ডেস্কটপ, 32-বিট সফটওয়্যার হওয়া সর্বাধিক 4 জিবি র‌্যাম ব্যবহারের মধ্যে সীমাবদ্ধ। টেবিল হিসাবে সংরক্ষণ করার আগে টেক্সট ফাইলটি র‍্যামে প্রক্রিয়া করা উচিত, সুতরাং প্রসেসিংয়ের সময় কিছুটা আর্কজিআইএস র‌্যামের সীমাটি ছুঁড়ে মারছিল এবং কেবল সেখানে থামছিল। আমি যে ফাইলটি আমদানি করেছিলাম তার আকার প্রায় 6GB ছিল। দৃশ্যত সত্য যে এটি একটি ত্রুটি বার্তা না দিয়ে ব্যর্থ হয়েছিল তা আমার কাছে অনন্য, আমি আমার অফিসে অন্য লোকদের এটি করার চেষ্টা করেছি এবং আমদানি এখনও ব্যর্থ হয়েছে, তবে এটি একটি ত্রুটি বার্তা দিয়েছে (একটি অপ্রয়োজনীয়, তবে কমপক্ষে এমন কিছু যা এই ব্যবহারকারী জানেন যে কিছু ভুল হয়েছে), এবং ইএসআরআই প্রতিনিধি বলেছেন যে এটির একটি ত্রুটি দেওয়া উচিত।

আমার সমাধানটি ফাইলটিকে দুটি ছোট সিএসভিতে টেক্সট সম্পাদক ব্যবহার করে বিভক্ত করা হয়েছিল (আমি এডিটপ্যাড প্রো ব্যবহার করেছি), তাদের প্রত্যেককে একটি পৃথক টেবিল হিসাবে এফজিডিবিতে আমদানি করুন, তারপরে দুটি এফজিডিবি টেবিলগুলি মার্জ করুন। কিছু কারণে এটি প্রথমবার চেষ্টা করে ব্যর্থ হয়েছিল তবে পরে কাজ করেছি। আমি এটি আরও কিছুটা পুরোপুরি পরীক্ষা করে দেখতে পারি, আমি চলমান ভিত্তিতে এই আকারের ফাইলগুলি নিয়ে কাজ করব।

আমি আরকিজিআইএস ১০.০ ব্যবহার করছি তবে আরকজিআইএস ১০.১ সার্ভিস প্যাক ১ সবেমাত্র প্রকাশিত হয়েছিল এবং 64৪-বিট ব্যাকগ্রাউন্ড জিওপ্রসেসর ব্যবহার করার ক্ষমতা যুক্ত করেছে, যা জিওপ্রসেসরকে ৪ জিবি র‌্যামের বেশি ব্যবহার করতে দেবে, যা এই সমস্যাটি সমাধান করতে পারে তবে আমি পারব না পরীক্ষা যে।

আপডেট: আমি এখন আরকজিআইএস 10.1 এসপি 1 ব্যবহার করছি (-৪-বিট ব্যাকগ্রাউন্ড জিওপ্রোসেসিং অ্যাডন সহ) এবং এটি এই দৈত্য। সিএসভিগুলি সাফল্যের সাথে আমদানি করে, কমপক্ষে আমি এখন পর্যন্ত যার সাথে ডিল করেছি। 14 গিগাবাইট র‌্যাম (হ্যাঁ, 14) সহ একটি মেশিনে, প্রায় 6.5 মিলিয়ন সারি সহ একটি 6 গিগাবাইট .সিএসভি সফলভাবে একটি এফজিডিবি টেবিলটিতে আমদানি করে।


1
আপনি জিডিএল-এর একটি 64 বিট বিল্ডে এটি চালানোর চেষ্টা করতে পারলে আমি কৌতূহলী হব। আমি বাজি ধরছি এটা ঠিকঠাক হবে।
রাগী ইয়াছার বারহুম

7

ডেটা লোডের উদ্দেশ্যে, বিশাল মাপের CSV ফাইল মেমোরিতে পড়াই মূর্খ। এটি কেবলমাত্র একবারে 1 লাইন পড়ার প্রয়োজন।

আমি পাইথন স্ক্রিপ্টটি লেখার পরামর্শ দিচ্ছি এবং csvমডিউলটি এটি লাইন দিয়ে রেখার জন্য পড়তে হবে এবং টেবিলে সারি সারি সন্নিবেশ করানোর জন্য InsertCursor(বা arcpy.da.InsertCursorএটি সম্ভবত তত দ্রুত, তবে কেবলমাত্র 10.1 এ উপলব্ধ) using

সম্পাদনা করুন: কেবলমাত্র আপনার শেষ অনুচ্ছেদটি পড়ুন। দেখে মনে হচ্ছে আপনি সম্ভবত পাইথনের অভ্যন্তরে এটি খুব সহজেই করতে পারেন, এমনকি ফলাফলটি CSV বা অন্য কোনও ফর্ম্যাটে রফতানি করে।

আপনি যদি প্রতিটি সারি এবং কলামের সাথে ঠিক কী করা দরকার তা বর্ণনা করতে পারেন যা সহায়ক হবে।


4

আপনি কি 5 জিবি সিএসভি ফাইলকে ছোট করে বিভক্ত করার চেষ্টা করেছেন?

সারি বা ফাইল গণনার উপর ভিত্তি করে সিএসভি বিভক্ত করার জন্য একটি সরঞ্জাম রয়েছে।

ফাইলগুলি বিভক্ত করুন এবং তারপরে আমদানির চেষ্টা করুন .. তবে এই সরঞ্জামটিতে একটি সীমাবদ্ধতা রয়েছে বলে আমি মনে করি এটি কেবল কোনও ফাইলে টেবিলের জন্য কাজ করবে (আমি মনে করি)। অনুগ্রহ। একবার চেষ্টা করে দেখ.

http://www.shivaranjan.com/2008/11/06/how-to-split-csv-file-into-multiple-parts-easily-and-quickly/


আমি চেষ্টা করার পরিকল্পনা করছি যে আমার যদি এটি করতে হয় তবে এতগুলি CSVs এর সাথে মোকাবিলা করার দরকার নেই আমি সম্ভবত এগুলি কেবল আমার পাঠ্য সম্পাদকের সাথে ম্যানুয়ালি বিভক্ত করব। আরকিজিআইএস যদি বড় টেবিলগুলি ভুল বোঝার অভ্যাস তৈরি করে এবং সাধারণ সৌজন্যেও অকেজো ত্রুটি বার্তা ছুঁড়ে দেওয়ার অভ্যাস তৈরি করে তবে এটি সমস্যা হতে চলেছে তা আমি এখনও খুঁজে পেতে চাই।
ড্যান সি

ঠিক আছে, আমি এটি চেষ্টা করেছি এবং এটি অবিচ্ছিন্নভাবে কাজ করে। সিএসভিকে দুটি ছোট ছোট (ম্যানুয়ালি, একটি পাঠ্য সম্পাদক সহ) বিভক্ত করার পরে, তারা দুটি পৃথক এফজিডিবি সারণিতে সফলভাবে আমদানি করেছিল এবং সমস্ত রেকর্ড রয়েছে। কিন্তু যখন আমি এই দুটি এফজিডিবি টেবিলগুলিকে একটিতে মার্জ করার চেষ্টা করি, তখন আরজিজিআইএস আবার প্রক্রিয়াটি চালিয়ে যায় যেন কিছুই ভুল হয় না, এবং তারপরে মার্জ করা টেবিলটি 1.3 মিলিয়ন রেকর্ড হারিয়েছে।
ড্যান সি

2

আমি প্রায় এক চতুর্থাংশ ধরে প্রায় বৃহত্তর পাইপ-বিস্মৃত পাঠ্য ফাইলের (2,712,391) সারির একই লাইনে এই ত্রুটি (001156) এ চলেছি।
সুতরাং আমি ভেবেছিলাম যে এই লাইনটিতে কিছু ভুল আছে, তবে এটি সারিগুলির বাকী অংশের মতো।
আমি আংশিক আমদানি থেকে সারিগুলি মোছা এবং তারপরে ডেটা (লোড> লোড ডেটা ...) লোড করে শেষ করে দিয়েছি এবং সমস্ত 2 এম + লাইন পেতে সক্ষম হয়েছি।

আমিও, 16 গিগাবাইট র‌্যামে 10.1 এসপি 1 ডাব্লু / 64 বিট ব্যাকগ্রাউন্ড জিওপ্রসেসিং ব্যবহার করছি এবং এটি এমন একটি প্রক্রিয়া যা র‌্যামটি ব্যবহার করবে (প্রতিটি প্রক্রিয়া এখনও 64-বিটে সক্ষম হয় না)।
ধীরে ধীরে, ক্লুঙ্কি workaround, কিন্তু এটি ধারাবাহিকভাবে কাজ করে।
আপনার যদি কোনও ডিগ্রি আমদানির ক্ষেত্রে সাফল্য না থাকে তবে আপনাকে প্রথমে খালি টেবিলটি সেট আপ করতে হতে পারে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.