বিভিন্ন অজগর কার্নেলের মধ্যে ডেটা ফ্রেম পুনরায় লোড করা এড়িয়ে চলুন


10

মেমরিতে কোনও ভেরিয়েবল (বড় টেবিল / ডেটা ফ্রেম) রাখার এবং একাধিক আইপিথন নোটবুক জুড়ে ভাগ করার কোনও উপায় আছে কি?

আমি এমন কিছু সন্ধান করব, যা ম্যাটল্যাবের ধ্রুবক ভেরিয়েবলের সাথে ধারণাগতভাবে সমান। সেখানে একাধিক স্বতন্ত্র সম্পাদক (নোটবুক) থেকে একটি কাস্টম ফাংশন / গ্রন্থাগার কল করা সম্ভব এবং বহিরাগত ফাংশনটির কিছু ফলাফল (বা বড় টেবিল) রয়েছে।

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


1
এটি সম্ভব বলে মনে হচ্ছে না এবং আপনি যদি সতর্ক না হন তবে এটি প্রচুর মাথা ব্যাথার কারণ হতে পারে। _পি্যাক প্যাকের মতো কোনও দক্ষ বিন্যাসে ডেটা চালিয়ে দেওয়া কি কোনও বিকল্প নয়?
এমরে

@ এমরে আপনাকে ধন্যবাদ। Msgpack সহ একটি জটিল অংশটি হ'ল এটি টেবিলটি পড়ার প্রয়োজনের অন্তর্নিহিত সমস্যার সমাধান করে না। এছাড়াও এটি একটি দ্বি-ধারযুক্ত তরোয়াল: এটি টেবিলের মূল ফর্ম্যাটের তুলনায় প্রায় 40% সময় সাশ্রয় করে, এটি ম্যানুয়াল বিশ্লেষণকে মূল তথ্য (যা কম পরিষ্কার) থেকে একটি ছোট পদক্ষেপ দূরে রাখে
tsttst

আমি মনে করি সেরা বিকল্পটি হ'ল রেডিসের মতো একটি ক্যাশে, যা ব্যবহার করে প্যাকেজ প্যাক। কমপক্ষে আপনি ডিস্কের পরিবর্তে স্মৃতিতে চালিয়ে যেতে পারেন।
এমরে

1
আমি ফেদার ব্যবহার বিবেচনা করব - এটি খুব দ্রুত
ম্যাক্সু

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

উত্তর:


4

যদি এটি আপনার ব্যবহারের ক্ষেত্রে গুরুত্বপূর্ণ হয় তবে আপনি অ্যাপাচি জেপেলিনে স্যুইচ করার চেষ্টা করতে পারেন। সমস্ত স্পার্ক নোটবুক যেমন একই স্পার্ক প্রসঙ্গে, একই পাইথন চলমান পরিবেশ ভাগ করে নেয়। https://zeppelin.apache.org/

সুতরাং আপনি যা জিজ্ঞাসা করছেন তা মূলত জেপেলিনে ঘটে। বা সম্পূর্ণ হওয়ার জন্য, সমস্ত স্পার্ক নোটবুকের মধ্যে একই স্পার্ক প্রসঙ্গ / একই পাইথন এনভায়রনমেন্ট ভাগ করে নেওয়ার একটি বিকল্প (তাদের জেপেলিনে 'নোট' বলা হয়):

জেপেলিনে দোভাষী ভাগ করে নেওয়ার বিকল্পগুলি স্পার্ক করুন

সুতরাং আপনি বিশ্বব্যাপী প্রসঙ্গটি ভাগ করতে বেছে নিতে পারেন (ডিফল্ট জেপেলিনের আচরণ), প্রতি নোট (একমাত্র সম্ভাব্য বৃহস্পতির আচরণ), বা প্রতি ব্যবহারকারী।

আপনি যদি জেপেলিনে স্যুইচ করতে চান না / করতে চান তবে আপনার নোটবুকের মধ্যে সাধারণ ডেটাফ্রেমগুলি ভাগ করে নেওয়ার অন্যান্য বিকল্পগুলি দেখুন:

পুনশ্চ. আপনি এখন পর্যন্ত জেপেলিনে আইপিনব ফাইলগুলি আমদানি করতে পারবেন না (এটির একটি নিজস্ব নোটবুক ফর্ম্যাটটি জসন ফাইল হিসাবে সংরক্ষণ করা আছে), যতক্ষণ না https://issues.apache.org/jira/browse/ZEPPELIN-1793 প্রয়োগ করা হয়; যদিও বেশিরভাগ ক্ষেত্রে তাদের ম্যানুয়ালি রূপান্তর করা এতটা কঠিন নয় not


1
ধন্যবাদ. আমি সম্ভবত আইপথন / জুপিটার নোটবুকগুলি থেকে সরে যাব। জেপেলিন কেবলমাত্র সংজ্ঞায়িত ভেরিয়েবলের বিষয়বস্তুটি বেছে বেছে ভাগ করে নেওয়ার সম্ভাবনাটিকে সমর্থন করে, তবে বিভিন্ন সম্পাদক / নোটবুক / নোটগুলির মধ্যে কোনও নামযুক্ত ভেরিয়েবলের নয়? (যেমন ম্যাটল্যাব করেন)
tsttst

দুর্ভাগ্যক্রমে - না, এটি একটি প্রক্রিয়া স্তরে নিয়ন্ত্রিত। সুতরাং এটি হয় সব বা কিছুই। আপনি যদি প্রতি নোটটি চয়ন করেন তবে এটি জুপিটারের মতো আচরণ করবে। যদি আপনি বিশ্বব্যাপী চয়ন করেন তবে তারা সমস্ত কিছু ভাগ করে নেবে। আমরা সাধারণত বিশ্বব্যাপী ব্যবহার করি কারণ এটি কম সংস্থান-নিবিড় বিশেষত বহু-ব্যবহারকারী পরিবেশে। কিছুক্ষণের জন্য মতলব ব্যবহার করেননি, তবে আপনাকে যদি কেবলমাত্র নির্বাচিত ভেরিয়েবলগুলির জন্য ভাগ করে নিতে হয় - আপনি অ্যাপাচি অ্যারো বা ফেদারটি একবার দেখতে পারেন, এটি যদি জ্যপিটার বা জেপেলিন।
তাগর
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.