পাইস্পার্ক ডেটাফ্রেম টিউটোরিয়াল - পাইফ স্পার্ক ডেটাফ্রেম সহ প্রোগ্রামিং



এই পাইস্পার্ক ডেটাফ্রেম টিউটোরিয়াল ব্লগে আপনি একাধিক উদাহরণ সহ অ্যাপাচি স্পার্কে রূপান্তরকরণ এবং ক্রিয়া সম্পর্কে শিখবেন।

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





পাইস্পার্ক ডেটাফ্রেম টিউটোরিয়াল: ডেটাফ্রেম কি?

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

Dataframe-Pyspark-Dataframe-Tutorial



আমরা বলতে পারি যে ডেটাফ্রেমগুলি কোনও এসকিউএল টেবিল বা স্প্রেডশিটের অনুরূপ 2-মাত্রিক ডেটা স্ট্রাকচার নয়। এখন আসুন এই পাইস্পার্ক ডেটাফ্রেম টিউটোরিয়ালটি নিয়ে এগিয়ে চলুন এবং বুঝতে পারি কেন আমাদের ঠিক পাইপার্ক ডেটাফ্রেমের প্রয়োজন?

আমাদের ডেটাফ্রেমগুলি কেন দরকার?

1. স্ট্রাকচার্ড এবং আধা-কাঠামোগত ডেটা প্রসেসিং



ডেটাফ্রেমসপ্রক্রিয়া করার জন্য ডিজাইন করা হয়প্রতি বড় কাঠামোগত পাশাপাশি আধা-কাঠামোগত ডেটা সংগ্রহ । স্পার্ক ডেটাফ্রেমে পর্যবেক্ষণগুলি নামযুক্ত কলামগুলির আওতায় সংগঠিত করা হয় যা অ্যাপাচি স্পার্ককে ডেটা ফ্রেমের স্কিমা বুঝতে সহায়তা করে। এটি স্পার্ককে এই প্রশ্নের উপর কার্যকরকরণ পরিকল্পনার অনুকূলিতকরণে সহায়তা করে। এটি পরিচালনা করতে পারে পেটাবাইট তথ্য।

2. এস লাইসেন্স এবং ডিশিং

ডেটা ফ্রেম এপিআইগুলি সাধারণত এর জন্য বিস্তৃত পদ্ধতিগুলি সমর্থন করে টুকরো টুকরো টুকরো করা তথ্যটি. এটা অন্তর্ভুক্তঅপারেশনএনএস, যেমন নাম বা সংখ্যা অনুসারে সারি, কলাম এবং কক্ষগুলি নির্বাচন করা, সারিগুলি ছাঁটাই করা ইত্যাদি Stat পরিসংখ্যানগত তথ্য সাধারণত খুব অগোছালো থাকে এবং এতে প্রচুর অনুপস্থিত এবং ভুল মান এবং ব্যাপ্তি লঙ্ঘন থাকে। সুতরাং ডেটা ফ্রেমের একটি সমালোচনামূলকভাবে গুরুত্বপূর্ণ বৈশিষ্ট্য হ'ল তথ্য হারানোর সুস্পষ্ট ব্যবস্থাপনা।

3. ডেটা সূত্র

ডেটাফ্রেমের বিস্তৃত ডেটা ফর্ম্যাট এবং উত্সগুলির জন্য সমর্থন রয়েছে, আমরা পরে এই পিসপার্ক ডেটাফ্রেম টিউটোরিয়াল ব্লগে এটি যাচাই করব। তারা বিভিন্ন উত্স থেকে ডেটা নিতে পারেন।

4. একাধিক ভাষার জন্য সমর্থন

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

নতুন আপডেট পেতে আমাদের ইউটিউব চ্যানেলে সাবস্ক্রাইব করুন ..!

ডেটাফ্রেমগুলির বৈশিষ্ট্য

  • ডেটাফ্রেমগুলি হ'ল বিতরণ প্রকৃতিতে এটি ফল্ট সহনশীল এবং অত্যন্ত উপলব্ধ ডেটা স্ট্রাকচারকে পরিণত করে।
  • অলস মূল্যায়ন একটি মূল্যায়ন কৌশল যা কোনও অভিব্যক্তির মূল্য প্রয়োজন না হওয়া পর্যন্ত মূল্যায়নকে ধারণ করে। এটি বারবার মূল্যায়ন এড়ায়। স্পার্কে অলস মূল্যায়নের অর্থ কোনও অ্যাকশন ট্রিগার না করা পর্যন্ত কার্যকর করা শুরু হবে না। স্পার্কে অলস মূল্যায়নের চিত্রটি আসে যখন স্পার্কের রূপান্তর ঘটে।
  • ডেটাফ্রেমগুলি হ'ল অপরিবর্তনীয় প্রকৃতিতে. অপরিবর্তনীয় বলতে আমি বোঝাতে চাইছি এটি এমন একটি বস্তু যার রাজ্য পরিবর্তন করা যায় না এটি তৈরি হওয়ার পরে।তবে আমরা রূপান্তর করতে পারিএটিপ্রয়োগ করে মানএকটি নির্দিষ্টআরডিডিগুলির মতো রূপান্তর

পাইস্পার্ক ডেটাফ্রেম সূত্র

পাইপার্কে ডেটাফ্রেমগুলি একাধিক উপায়ে তৈরি করা যেতে পারে:

এর মাধ্যমে ডেটা লোড করা যায় সিএসভি, জেএসএন, এক্সএমএল বা একটি parquet ফাইল। এটি একটি বিদ্যমান ব্যবহার করে তৈরি করা যেতে পারে আরডিডি এবং অন্য কোনও ডাটাবেসের মাধ্যমে, যেমন মধু বা ক্যাসান্দ্রা যেমন. এটি এইচডিএফএস বা স্থানীয় ফাইল সিস্টেম থেকে ডেটা নিতে পারে।

ডেটাফ্রেম তৈরি

আসুন এই পাইস্পার্ক ডেটাফ্রেম টিউটোরিয়াল ব্লগটি নিয়ে এগিয়ে চলি এবং কীভাবে ডেটাফ্রেম তৈরি করা যায় তা বুঝতে পারি।

আমরা কর্মচারী এবং বিভাগের দৃষ্টান্ত তৈরি করব।

pyspark.sql আমদানি থেকে * কর্মচারী = সারি ('ফার্স্টনেম', 'লাস্টনেম', 'ইমেল', 'বেতন') কর্মচারী = কর্মচারী ('বাশার', 'আর্মব্রাস্ট', 'bash@edureka.co', 100000) কর্মী 2 = কর্মচারী ('ড্যানিয়েল', 'মেং', 'daniel@stanford.edu', 120000) কর্মচারী 3 = কর্মচারী ('মুরিয়েল', কিছুই নেই, 'muriel@waterloo.edu', 140000) কর্মচারী 4 = কর্মচারী ('রাচেল', 'উইন্ডেল ',' rach_3@edureka.co ', 160000) কর্মচারী 5 = কর্মচারী (' জাচ ',' গালিফিয়ানাকিস ',' zach_g@edureka.co ', 160000) মুদ্রণ (কর্মচারী [0]) মুদ্রণ (কর্মচারী 3) বিভাগ 1 = সারি (আইডি) = '123456', নাম = 'এইচআর') বিভাগ 2 = সারি (আইডি = '789012', নাম = 'ওপিএস') বিভাগ3 = সারি (আইডি = '345678', নাম = 'এফএন') বিভাগ4 = সারি (আইডি = ' 901234 ', নাম =' ডিভি ')

এরপরে, আমরা কর্মচারী এবং বিভাগগুলি থেকে একটি বিভাগপরিবর্তনকারী উদাহরণ তৈরি করব

বিভাগের সাথে এমপ্লয়য়েস 1 = সারি (বিভাগ = বিভাগ 1, কর্মচারী = [কর্মচারী 2, কর্মচারী 5]) বিভাগ উইথ এমপ্লয়য়েস 2 = সারি (বিভাগ = বিভাগ 2, কর্মচারী = [কর্মচারী, কর্মচারী 4]) বিভাগ উইথ এমপ্লয়য়েস 3 = সারি (বিভাগ = বিভাগ 3, কর্মচারী = [কর্মচারী 1, কর্মচারী 4, কর্মচারী 3) ]) বিভাগবিহীন এমপ্লয়য়েস 4 = সারি (বিভাগ = বিভাগ 4, কর্মচারী = [কর্মচারী 2, কর্মচারী 3])

আসুন সারিগুলির তালিকা থেকে আমাদের ডেটাফ্রেম তৈরি করি

বিভাগসমূহ উইথএম্পলয়েস_সেক = [বিভাগ উইথএম্পলোয়েস 1, বিভাগ উইথ এমপ্লয়য়েস 2] ডিফ্রেমে = স্পার্ক.ক্রেটডেটা ফ্রেম (বিভাগসমূহের সাথে এমপ্লয়য়েস সিক) ডিসপ্লে (ডিফ্রেমে) ডিফ্রেমে.শো ()

পাইস্পার্ক ডেটাফ্রেম উদাহরণ 1: ফিফা বিশ্বকাপ ডেটাসেট

এখানে আমরা ফিফা বিশ্বকাপের খেলোয়াড়দের ডেটাসেট নিয়েছি। আমরা এই ডেটাটি লোড করতে যা যা সিএসভি ফর্ম্যাটেএকটি মধ্যেডেটাফ্রেম এবং তারপরে আমরা এই ডেটাফ্রেমে সম্পাদন করা যায় এমন বিভিন্ন রূপান্তর ও ক্রিয়া সম্পর্কে শিখব learn

সিএসভি ফাইল থেকে ডেটা পড়া

আসুন একটি সিএসভি ফাইল থেকে ডেটা লোড করি। এখানে আমরা ব্যবহার করতে যাচ্ছি spark.read.csv ডেটাফ্রেম ফিফা_ডিএফ-তে ডেটা লোড করার পদ্ধতি। আসল পদ্ধতিটি হ'ল স্পার্ক.ড্রেড.ফর্ম্যাট [সিএসভি / জেএসন]

ফিফা_ডিএফ = স্পার্ক.ড্রেড.সিএসভি ('পথের ফাইল / ফিফা_প্লেয়ারস.সি.ভি' ', ইনফারচেমা = সত্য, শিরোনাম = সত্য) ফিফা_ডেফ.শো ()

ডেটাফ্রেমের স্কিমা

স্কিমা অর্থাৎ কটাক্ষপাত করা। ডেটা ফ্রেমের কাঠামো, আমরা এটি ব্যবহার করব প্রিন্টস্কেমা পদ্ধতি এটি আমাদের ডেটাফ্রেমের বিভিন্ন কলামের সাথে সাথে ডেটা টাইপ এবং সেই নির্দিষ্ট কলামের ননযোগ্য শর্ত দেবে।

ফিফা_ডিএফ.প্রিন্ট শেসেমা ()

কলামের নাম এবং গণনা (সারি এবং কলাম)

যখন আমরা একটি নির্দিষ্ট ডেটাফ্রেমের নাম এবং সারি এবং কলামগুলির সংখ্যা গণনা করতে চাই, আমরা নীচের পদ্ধতিগুলি ব্যবহার করি।

ফিফা_ডিএফ.কলামগুলি // কলামের নাম ফিফা_ডিএফ.কাউন্ট () // সারি গণনা লেন (ফিফা_ডেফ কলম্বস) // কলাম গণনা

37784 8

একটি বিশেষ কলাম বর্ণনা

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

জাভাস্ক্রিপ্ট ইভেন্ট কি
ফিফা_ডিএফ.ডেসক্রাইব ('কোচের নাম')। প্রদর্শন () ফিফা_ডেফ.ডেসক্রিপ ('পজিশন')। শো ()

একাধিক কলাম নির্বাচন করা

আমরা যদি ডেটাফ্রেম থেকে নির্দিষ্ট কলামগুলি নির্বাচন করতে চাই তবে আমরা এটি ব্যবহার করি নির্বাচন করুন পদ্ধতি

ফিফা_ডিএফ.ইলেক্ট ('প্লেয়ারের নাম', 'কোচের নাম')। শো ()

স্বতন্ত্র একাধিক কলাম নির্বাচন করা

ফিফা_ডিএফ.ইলেক্ট ('প্লেয়ারের নাম', 'কোচের নাম')। আলাদা ()। প্রদর্শন ()

ফিল্টারিং ডেটা

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

ফিফা_ডিএফ.ফিল্টার (ফিফা_ডিএফ। ম্যাচআইডি == '1096')। () ফিফা_ডিএফ.ফিল্টার (ফিফা_ডিএফ। ম্যাচআইডি == '1096') দেখান। গণনা () // গণনা পেতে

ফিল্টারিং ডেটা (একাধিক পরামিতি)

আমরা একাধিক শর্ত (এবং বা ওআর) এর উপর ভিত্তি করে আমাদের ডেটা ফিল্টার করতে পারি

ফিফা_ডিএফ.ফিল্টার ((ফিফা_ডিএফ.পজিশন == 'সি')) && (ফিফা_ডেফ.সভ্যন্ত == 'জি 40' ')) প্রদর্শন করুন ()

বাছাই ডেটা (অর্ডারবি)

ডেটা সাজানোর জন্য আমরা ব্যবহার করি অর্ডারবাই পদ্ধতি ডিফল্ট অনুসারে, এটি আরোহী ক্রম অনুসারে বাছাই করে, তবে আমরা এটিকে অবতরণ ক্রমেও পরিবর্তন করতে পারি।

ফিফা_ডিএফ.অর্ডার বাই (ফিফা_ডিএফ। ম্যাচআইডি)। শো ()

পাইস্পার্ক ডেটাফ্রেম উদাহরণ 2: সুপারহিরোস ডেটাসেট

ডেটা লোড হচ্ছে

এখানে আমরা আগের মতো করে ডেটা লোড করব।

সুপারহিরো_ডিএফ = স্পার্ক.ড্রেড.সিএসভি ('ফাইলের / পথের সুপারহিরো সিএসভি', ইনফারচেমা = সত্য, শিরোনাম = সত্য) সুপারহিরো_ডিএফ.শো (10)

ডেটা ফিল্টারিং

সুপারহিরো_ডিএফ.ফিল্টার (সুপারহিরো_ডিএফ.জেন্ডার == 'পুরুষ') গণনা () // পুরুষ হিরোস গণনা সুপারহিরো_ডিএফ.ফিল্টার (সুপারহিরো_ডিএফ.জেন্ডার == 'মহিলা') গণনা () // মহিলা হিরোস গণনা

ডেটা দলবদ্ধকরণ

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

রেস_ডিএফ = সুপারহিরো_ডিএফ.গ্রুপবি ('রেস') .কাউন্ট () .শো ()

পারফর্মিং এসকিউএল ক্যোয়ারী

আমরা এসকিউএল কোয়েরিগুলি যে কোনও ডেটাফ্রেমে সরাসরি পাস করতে পারি, তার জন্য আমাদের ডেটা ফ্রেম ব্যবহার করে একটি টেবিল তৈরি করতে হবে নিবন্ধন পদ্ধতি এবং তারপরে ব্যবহার করুন sqlContext.sql () এসকিউএল কোয়েরিগুলি পাস করার জন্য।

সুপারহিরো_ডিএফ.রেজিস্টারটেম্পটেবল ('সুপারহিরো_ টেবিল') sqlContext.sql ('সুপারহিরো_ টেবিল থেকে নির্বাচন করুন') প্রদর্শন করুন ()

sqlContext.sql ('সুপারহিরো_ টেবিল থেকে স্বতন্ত্র (আই_ রঙ) নির্বাচন করুন') প্রদর্শন করুন ()

sqlContext.sql ('সুপারহিরো_ টেবিল থেকে স্বতন্ত্র (আই_ রঙ) নির্বাচন করুন') গণনা ()

2. 3

sqlContext.sql ('সুপারহিরো_ টেবিল থেকে সর্বোচ্চ (ওজন) নির্বাচন করুন')। (দেখান)

এবং এটির সাথে আমরা এই পাইস্পার্ক ডেটাফ্রেম টিউটোরিয়ালটির শেষে এসেছি।

তো এই তো, বলছি!

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