পাইথন কি বড় ডেটার জন্য উপযুক্ত?


14

আমি এই পোস্টে পড়েছি বড় ডেটা যে বিগ ডেটা গঠনের জন্য উপযুক্ত ভাষা5TB এবং এটি যখন এই ধরণের ডেটা নিয়ে কাজ করার সম্ভাব্যতা সম্পর্কে তথ্য সরবরাহ করার একটি ভাল কাজ করে তবে সে সম্পর্কে Rখুব কম তথ্য সরবরাহ করে Python। আমি ভাবছিলাম যে Pythonএই আরও ডেটা পাশাপাশি কাজ করতে পারেন।

উত্তর:


18

স্পষ্ট করার জন্য, আমি মনে করি যে ওপির মূল প্রশ্নের উল্লেখগুলি সম্ভবত এসও-টাইপের ফর্ম্যাটের জন্য সেরা নয় তবে আমি অবশ্যই pythonএই বিশেষ ক্ষেত্রে প্রতিনিধিত্ব করব ।

আমাকে কেবল এই বলেই শুরু করা যাক আপনার ডেটার আকার নির্বিশেষে pythonআপনার সীমাবদ্ধ ফ্যাক্টর হওয়া উচিত নয়। আসলে, এখানে কয়েকটি প্রধান সমস্যা রয়েছে যা আপনি বড় ডেটাসেটগুলির সাথে ডিল করতে চলেছেন:

  • মেমরিতে ডেটা পড়া - এটি এখন পর্যন্ত বড় ডেটার বিশ্বে সবচেয়ে সাধারণ সমস্যা। মূলত, আপনি মেমোরি (র‌্যাম) এর চেয়ে বেশি ডেটাতে পড়তে পারবেন না। এটি ঠিক করার সর্বোত্তম উপায় হ'ল একবারে সমস্ত কিছু পড়ার চেষ্টা করার পরিবর্তে আপনার ডেটাতে পারমাণবিক ক্রিয়াকলাপ।
  • ডেটা সংরক্ষণ করা - এটি আসলে পূর্ববর্তী ইস্যুর মাত্র একটি অন্য রূপ, এটি প্রায় সময় 1TBপাওয়ার আগে আপনাকে স্টোরেজের জন্য অন্য কোথাও সন্ধান করতে শুরু করে। এডাব্লুএস এস 3 হ'ল সর্বাধিক সাধারণ সম্পদ, এবং pythonএতে botoবিশাল আকারের ডেটা সহ শীর্ষস্থানীয় করার সুবিধার্থে দুর্দান্ত গ্রন্থাগার রয়েছে।
  • নেটওয়ার্কের বিলম্বিতা - বিভিন্ন পরিষেবার মধ্যে ডেটা সরিয়ে নেওয়া আপনার বাধা হতে চলেছে। এটিকে ঠিক করতে আপনি করতে পারেন এমন বিশাল পরিমাণ নেই, সহ-অবস্থিত সংস্থানগুলি বাছাইয়ের চেষ্টা এবং প্রাচীরে প্লাগিং করা ছাড়া।

13

বিগ ডেটা নিয়ে কাজ করার সময় আপনার কয়েকটি বিষয় বুঝতে হবে -

বিগ ডেটা কী?

বিখ্যাত ডেটা অব বিগ ডেটা সম্পর্কে আপনি অবগত থাকতে পারেন - ভলিউম, বেগ, বিভিন্নতা ... সুতরাং, পাইথন সবার জন্য উপযুক্ত নাও হতে পারে। এবং এটি উপলব্ধ সমস্ত ডেটা বিজ্ঞানের সরঞ্জামগুলির সাথে যায়। কোন সরঞ্জামটি কোন উদ্দেশ্যে ভাল তা আপনার জানা দরকার।

যদি ডেটার বৃহত পরিমাণে কাজ করে:

  • শূকর / মৌচাক / হাঙ্গর - ডেটা সাফাই এবং ইটিএল কাজ
  • হডোপ / স্পার্ক - বিতরণ করা সমান্তরাল কম্পিউটিং
  • মাহাউট / এমএল-লিব - মেশিন লার্নিং

এখন, আপনি মধ্যবর্তী পর্যায়ে আর / পাইথন ব্যবহার করতে পারেন তবে আপনি বুঝতে পারবেন যে তারা আপনার সম্পূর্ণ প্রক্রিয়াতে অটল হয়ে উঠেছে।

যদি ডেটার বেগ নিয়ে কাজ করা হয়:

  • কাফকা / ঝড় - হাই থ্রুপুট সিস্টেম

লোকেরা এখানে আর / পাইথন চেষ্টা করছে কিন্তু আবার এটি আপনার পছন্দসই সমান্তরালতা এবং আপনার মডেল জটিলতার উপর নির্ভর করে।

আপনি কি ধরণের বিশ্লেষণ করতে চান?

যদি আপনার মডেলটি পুরো ডেটাটিকে প্রথমে মেমরিতে আনার দাবি করে তবে আপনার মডেলটি জটিল হওয়া উচিত নয় কারণ যদি মধ্যবর্তী ডেটা বড় হয় তবে কোডটি ভেঙে যাবে। এবং যদি আপনি এটিকে ডিস্কে লেখার কথা ভাবেন তবে আপনাকে অতিরিক্ত বিলম্বের মুখোমুখি হতে হবে কারণ র‌্যামের তুলনায় ডিস্ক রিড / রাইট ধীর।

উপসংহার

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

আপনি কীভাবে প্রশ্নের উত্তর দিবেন তা আপনার সরঞ্জামগুলিতে নির্ধারণ করা উচিত নয়। আপনার প্রশ্নগুলিতে আপনি কোন সরঞ্জামগুলি ব্যবহার করছেন তা নির্ধারণ করা উচিত।


8

বড় ডেটার সাথে কাজ করার জন্য পাইথনের কয়েকটি খুব ভাল সরঞ্জাম রয়েছে:

numpy

নম্পির স্মৃতিযুক্ত ম্যাপযুক্ত অ্যারে আপনাকে ডিস্কে সংরক্ষণ করা কোনও ফাইল অ্যাক্সেস করার অনুমতি দেয়। আপনি যে অ্যারেগুলির সক্রিয়ভাবে সক্রিয়ভাবে কাজ করছেন তার অংশগুলি মেমরিতে লোড করা দরকার। এটি সাধারণ অ্যারে হিসাবে প্রায় একই ব্যবহার করা যেতে পারে।

h5py এবং pytables

এই দুটি গ্রন্থাগার এইচডিএফ 5 ফাইলগুলিতে অ্যাক্সেস সরবরাহ করে। এই ফাইলগুলি কেবলমাত্র ডেটার অংশে অ্যাক্সেসের অনুমতি দেয়। তদতিরিক্ত, ডেটা অ্যাক্সেস করতে ব্যবহৃত অন্তর্নিহিত লাইব্রেরিগুলির জন্য ধন্যবাদ, অনেক গাণিতিক ক্রিয়াকলাপ এবং ডেটার অন্যান্য হেরফেরগুলি পাইথন ডেটা কাঠামোতে লোড না করেই করা যেতে পারে। প্রচুর, অত্যন্ত কাঠামোগত ফাইলগুলি সম্ভব, 5 টিবির চেয়ে অনেক বড়। এটি বিরামবিহীন, ক্ষতিহীন সংকোচনের অনুমতি দেয়।

ডাটাবেস

বিভিন্ন ধরণের ডাটাবেস রয়েছে যা আপনাকে বড় ডেটা সেটগুলি সঞ্চয় করতে এবং আপনার প্রয়োজনীয় অংশগুলি লোড করতে দেয়। অজগর ডেটা স্ট্রাকচারে ডেটা লোড না করে অনেকগুলি ডাটাবেস আপনাকে ম্যানিপুলেশন করতে দেয়।

পান্ডাস

এটি এইচডিএফ 5 ডেটা, সিএসভি ফাইল, ডাটাবেস, এমনকি ওয়েবসাইটগুলি সহ বিভিন্ন ধরণের ডেটাতে উচ্চ স্তরের অ্যাক্সেসের অনুমতি দেয়। বড় ডেটার জন্য, এটি এইচডিএফ 5 ফাইল অ্যাক্সেসের চারপাশে মোড়ক সরবরাহ করে যা বড় ডেটা সেটগুলিতে বিশ্লেষণ করা সহজ করে।

mpi4py

এটি আপনার পাইথন কোডটি একাধিক প্রসেসর এমনকি একাধিক কম্পিউটার জুড়ে বিতরণ উপায়ে চালানোর জন্য একটি সরঞ্জাম। এটি আপনাকে একই সাথে আপনার ডেটার অংশগুলিতে কাজ করতে দেয়।

dask

এটি সাধারণ ন্যাম্পি অ্যারের একটি সংস্করণ সরবরাহ করে যা বহু নরমাল অপারেশনগুলিকে মাল্টি-কোর পদ্ধতিতে সমর্থন করে যা মেমরিতে ফিট করার জন্য খুব বড় ডেটাতে কাজ করতে পারে।

আলোকচ্ছটা

একটি সরঞ্জাম বিশেষত বড় ডেটার জন্য ডিজাইন করা। এটি মূলত উপরের লাইব্রেরিগুলির চারপাশে একটি মোড়ক, বিপুল পরিমাণে ডেটা (যেমন এইচডিএফ 5 বা ডাটাবেস) সংরক্ষণের বিভিন্ন ধরণের বিভিন্ন পদ্ধতিতে ধারাবাহিক ইন্টারফেস সরবরাহ করে এবং সরঞ্জামগুলি সহজেই পরিচালনা করতে পারে, গাণিতিক ক্রিয়াকলাপ চালায় এবং ডেটা বিশ্লেষণ করে যে স্মৃতিতে ফিট করার জন্য এটি খুব বড়।


4

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


3

এত পরিমাণে ডেটা পরিচালনা করতে, প্রোগ্রামিং ভাষা মূল উদ্বেগ নয় তবে প্রোগ্রামিং কাঠামোটি is ম্যাপ্রেডিউস বা স্পার্কের মতো ফ্রেমওয়ার্কগুলিতে পাইথন সহ অনেকগুলি ভাষার বাইন্ডিং রয়েছে। এই ফ্রেমওয়ার্কগুলিতে ডেটা বিশ্লেষণ কর্মের জন্য অবশ্যই ব্যবহারের জন্য অনেক ব্যবহারযোগ্য প্যাকেজ রয়েছে। তবে শেষ পর্যন্ত সব আপনার প্রয়োজনে আসে, অর্থাৎ আপনার কাজটি কী? লোকেরা ডেটা বিশ্লেষণ কার্যগুলির বিভিন্ন সংজ্ঞা রাখে, এর মধ্যে কিছুগুলি সহজেই সম্পর্কিত ডেটাবেসগুলির মাধ্যমে সমাধান করা যায়। সেক্ষেত্রে এসকিউএল অন্যান্য সমস্ত বিকল্পের চেয়ে অনেক ভাল।


2

আমি বিশ্বাস করি বৃহত্তর ডেটা যখন আসে তখন ভাষাটির পারফরম্যান্স সক্ষমতাগুলির সাথে খুব কম সম্পর্ক রয়েছে। বিষয়গুলি হ'ল:

  • আসলে ডেটা কত বড়
  • আপনি এটিতে কী প্রক্রিয়াকরণ সম্পাদন করতে যাচ্ছেন
  • আপনি কি হার্ডওয়্যার ব্যবহার করতে চলেছেন
  • আপনি যে নির্দিষ্ট গ্রন্থাগারগুলি ব্যবহারের পরিকল্পনা করছেন সেগুলি

যাইহোক, পাইথন ডেটা বিজ্ঞান সম্প্রদায়েরগুলিতে ভালভাবে গৃহীত।


2

20K লগইন শংসাপত্রগুলির সাথে মেলে 10M সারি ডাটাবেস অনুসন্ধান করতে আমি অ্যানাকোন্ডা পাইথন 3.4 এবং পান্ডাস ব্যবহার করছি। প্রায় এক মিনিট সময় নেয়। পান্ডাস ইন্টার্নাল মেমরির দুর্দান্ত ব্যবহার করে। এটি বলেছে যে, সত্যই বড় ডেটাগুলির সাথে সমস্যার সাথে মিলে একটি প্রক্রিয়াকরণ আর্কিটেকচার প্রয়োজন। পান্ডস এই সমীকরণের কেবল আঠালো (যুক্তি) এবং অন্যান্য সরঞ্জামগুলিও এটি করতে পারে। আর, স্কালা, হাস্কেল, এসএএস, ইত্যাদি কিছু যুক্তিটির প্রতিলিপি তৈরি করতে পারে - সম্ভবত প্রশ্নের উত্তরগুলি দ্রুত দেওয়ার পক্ষে যথেষ্ট। তবে পাইথন একটি ভাল (সেরা?) সাধারণ-উদ্দেশ্য সরঞ্জাম তৈরি করে। আপনি পাইথন আর বেশিরভাগ অন্যান্য ভাষায় আর কোড চালাতে পারেন। যদিও ব্যাখ্যামূলক, উচ্চতর পারফরম্যান্স কৌশল এবং পাইপির মতো সরঞ্জাম রয়েছে যা কেবলমাত্র কিছুটা বেশি চেষ্টা করে পাইথনকে প্রায় বেঞ্চমার্ক সরঞ্জামের মতো দ্রুত চালাতে পারে। এবং পাইথনের অনেকগুলি লাইব্রেরি রয়েছে যা প্রায় সব কিছু করে - উপরের তালিকাটি দেখুন।

আপনি যদি জিজ্ঞাসা করছেন যে আপনার পাইথন শিখতে এবং ব্যবহার করা উচিত কিনা, আমার উত্তর হ্যাঁ নিবন্ধগুলি নির্দেশ করে যে দু'টি ব্যবহার করে এমন লোকদের মধ্যে আরথের চেয়ে অজগর বেশি ব্যবহৃত হয়। তবে কয়েকটি তথ্য বিজ্ঞানের সমস্যাগুলি একটি একক সরঞ্জাম দ্বারা সমাধান করা হয়। এটি আপনার যেতে-যেতে হাতিয়ার হয়ে উঠতে পারে তবে এটি কেবল এটিই - একটি সরঞ্জাম। এবং কোনও বুদ্ধিমান ব্যক্তি যেমন কেবল একটি হাতুড়ি দিয়ে বাড়ি তৈরি করে না তেমনি কোনও বুদ্ধিমান ডেটা সায়েন্টিস্ট কেবল একটি সরঞ্জাম ব্যবহার করে না।


0

লোকেরা কীভাবে তথ্য বিজ্ঞান এবং ব্যবসায়িক বুদ্ধিমত্তার সাথে বড় ডেটা মেশায় তা মজাদার।

প্রথমত, বড় ডেটা মানে "প্রচুর ডেটা", এত বেশি তথ্য যা এটি প্রচলিত ডাটাবেসে ফিট করে না। যাইহোক, কখনও কখনও বড় ডেটা এমনকি সঠিক "মান" তথ্য নয় ডকুমেন্টস, চিত্র এবং অন্যান্য।

সুতরাং, বড় ডেটা প্রক্রিয়া করার জন্য, আমাদের গতি দরকার। পাইথন লীগ থেকে বাইরে, সুতরাং আর। তবে, কাজটি যদি কোনও সিএসভি নেওয়া এবং একটি ডাটাবেসে প্রবেশ করা যতটা সহজ হয় তবে এটি ইটিএল, এটি করার জন্য আমাদের প্রোগ্রামিংয়ের দরকার নেই।

এবং যখন তথ্য হ্রাস করা হয়, তখন আমরা পাইথন, আর বা আপনি যা চান তা প্রয়োগ করতে পারি। এমনকি এক্সেল। যাইহোক, এই পর্যায়ে, বিগ ডেটা আর বড় নয় প্রচলিত ডেটা।

আইএমএইচও, জাভা বিগ ডেটার (পুরো চেইনের জন্য) বেশি উপযোগী তবে লোকে অযৌক্তিক কারণে পাইথনটিকে ডিফল্ট হিসাবে গ্রহণ করে।

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