মনে হচ্ছে এটা ডেটা কোয়ালিটির উপর আমার সিরিজের ২য় অংশ!
আগের একটি পোস্টে , আমি প্রণোদনার মাধ্যমে ডেটার গুণমান বাড়ানোর জন্য Airbnb-এর কৌশলটি অন্বেষণ করেছি। তারা একটি একক স্কোর এবং স্পষ্ট স্কোরিং মানদণ্ড প্রয়োগ করে ডেটা প্রযোজক এবং ভোক্তাদের মধ্যে একটি সাধারণ বোঝাপড়া প্রতিষ্ঠা করে, মালিকানার প্রকৃত বোধকে উত্সাহিত করে।
এখন, লিফট একটি স্বতন্ত্র পদ্ধতি গ্রহণ করছে, একই জিনিসকে ভিন্নভাবে চেষ্টা করছে না, বরং ডেটা মানের বিভিন্ন দিকের উপর ফোকাস করছে। এবং, লিফটের কৌশল Airbnb-এর প্রচেষ্টার পরিপূরক। যদিও আমি Airbnb-এর DQ স্কোরকে (বা অনুরূপ স্কোর) ডেটার গুণমান উন্নত করার বিভিন্ন প্রচেষ্টাকে একীভূত করার একটি কার্যকর উপায় হিসাবে বিবেচনা করি, Lyft এই চ্যালেঞ্জটিকে একটি ভিন্ন কোণ থেকে মোকাবেলা করছে।
Airbnb এর DQ স্কোর ডেটা মানের একটি কংক্রিট ভিজ্যুয়ালাইজেশন প্রদানের জন্য একটি মূল্যবান হাতিয়ার হিসেবে কাজ করে। সংক্ষেপে, ডেটার গুণমান বাড়ানোর যে কোনো উদ্যোগ এই স্কোরের উপর একটি স্পষ্ট প্রভাব প্রকাশ করবে। অন্যদিকে, Lyft নির্দিষ্ট মানের মানদণ্ডের বিরুদ্ধে ডেটা পরীক্ষা এবং যাচাই করে সক্রিয়ভাবে গুণমান বাড়ানোর একটি সম্ভাব্য উদ্যোগ উপস্থাপন করে।
মৌলিকভাবে, এটি ডেটা মানের জীবনচক্রের একটি ভিন্ন পয়েন্ট। গুণমান উন্নত করার জন্য একটি প্রক্রিয়া চালু করার জন্য প্রাথমিকভাবে এটি পরিমাপ করার ক্ষমতা প্রয়োজন।
সুতরাং, যদিও Airbnb- এর ফোকাস ডেটার গুণমান পরিমাপ এবং পর্যবেক্ষণের উপর, এই গুণমানকে উন্নত করতে এবং "ভালো দেখাতে" প্রযোজকের আগ্রহের উপর নির্ভর করে, Lyft একটি ভিন্ন পদ্ধতি গ্রহণ করে। Lyft সক্রিয়ভাবে ডেটা গুণমান পরীক্ষা এবং যাচাই করার উপর জোর দেয়, উৎপাদক এবং ভোক্তা উভয়কেই গুণমানকে কার্যকরভাবে উন্নত ও নিয়ন্ত্রণ করার উপায় প্রদান করে।
সম্মিলিতভাবে, এই পন্থাগুলি তার জীবনচক্র জুড়ে ডেটা গুণমানকে মোকাবেলা এবং উন্নত করার জন্য একটি ব্যাপক কৌশল প্রদান করে।
এই কারণে, আমি বিশেষভাবে লিফটের দৃষ্টিভঙ্গিটি ঘনিষ্ঠভাবে দেখতে আগ্রহী ছিলাম।
আরেকটি বিষয় যা আমাকে কৌতূহলী করেছিল তা হল পরীক্ষা করা, আরও নির্দিষ্টভাবে, চুক্তি পরীক্ষা, যা মাইক্রোসার্ভিস আর্কিটেকচারের উত্থানের সাথে বেসিক সফ্টওয়্যার ইঞ্জিনিয়ারিংয়ে বহু বছর ধরে ব্যবহৃত হচ্ছে। ডেটা কন্ট্রাক্টগুলি, তবে, ডেটা ইঞ্জিনিয়ারিংয়ের ক্ষেত্রে আরও সাম্প্রতিক কিছু এবং উচ্চ-মানের ডেটা পাইপলাইন তৈরির পথে এটিকে শীর্ষস্থান বা চূড়ান্ত পদক্ষেপগুলির মধ্যে একটি হিসাবে দেখা হয়। এই কারণেই আমি লিফটের পদ্ধতিকে আরও বিস্তারিতভাবে পরীক্ষা করতে এবং কিছু সম্ভাব্য সমান্তরাল অন্বেষণ করতে চেয়েছিলাম।
Airbnb DQ স্কোর তৈরি করেছে, যা ডেটা মানের 4টি স্বতন্ত্র দিক পরিমাপ এবং উন্নত করার উপর ফোকাস করে:
ডিকিউ স্কোরে সম্পূর্ণ কভারেজ, স্বয়ংক্রিয়তা, কর্মক্ষমতা, বহুমাত্রিকতা এবং বিবর্তনযোগ্যতা সহ গাইডিং নীতি রয়েছে। এটির যথার্থতা, নির্ভরযোগ্যতা, স্টুয়ার্ডশিপ এবং ব্যবহারযোগ্যতার মতো মাত্রা রয়েছে।
Lyft's Verity হল একটি প্ল্যাটফর্ম যা 5টি মাত্রা জুড়ে ডেটার গুণমান উন্নত করার জন্য ডিজাইন করা হয়েছে
ডেটার গুণমানকে পরিমাপ হিসাবে সংজ্ঞায়িত করে ডেটা কতটা ভালোভাবে উদ্দেশ্য হিসাবে ব্যবহার করা যেতে পারে, শব্দার্থগত শুদ্ধতা, ধারাবাহিকতা, সম্পূর্ণতা, স্বতন্ত্রতা, সুগঠিততা এবং সময়োপযোগীতার মতো দিকগুলিকে কভার করে৷
Lyft's Verity দ্বারা উন্নত 5টি ডেটা মানের দিক এবং Airbnb-এর DQ স্কোর দ্বারা পরিমাপ করা 4টি ডেটা মানের মাত্রার মধ্যে সমান্তরাল আঁকা সহজ। উদাহরণস্বরূপ, সময়োপযোগীতার মতো দিকগুলি অবশ্যই DQ স্কোরের নির্ভরযোগ্যতায় অবদান রাখবে, যখন নির্ভুলতা শব্দার্থগত সঠিকতা, সম্পূর্ণতা এবং ডেটার স্বতন্ত্রতার উপর নির্ভর করবে। অন্য দিকে, ব্যবহারযোগ্যতা স্কোর অন্যান্য কারণের মধ্যে ডেটার সামঞ্জস্য দ্বারা প্রভাবিত হয়।
Lyft's Verity শব্দার্থগত শুদ্ধতা, ধারাবাহিকতা, সম্পূর্ণতা, স্বতন্ত্রতা, সুগঠিততা এবং সময়োপযোগীতা সম্পর্কিত চেকগুলিকে সংজ্ঞায়িত করার উপর দৃষ্টি নিবদ্ধ করে। এটি একটি পরীক্ষা-প্রথম এবং বৈধতা পদ্ধতি অনুসরণ করে, যেখানে Airbnb-এর ইউনিফাইড DQ স্কোর বিভিন্ন মাত্রার মাধ্যমে ডেটার গুণমান মূল্যায়নের উপর জোর দেয়।
আমরা যদি এই শেষ স্কিমাতে DQ স্কোর অন্তর্ভুক্ত করতে চাই, তাহলে এটি সতর্কতা/ডিবাগ ধাপের পাশে থাকবে।
Airbnb-এর DQ স্কোর যথার্থতা, নির্ভরযোগ্যতা, স্টুয়ার্ডশিপ এবং ব্যবহারযোগ্যতার দিকগুলি জুড়ে ডেটা গুণমান মূল্যায়ন করতে বিভিন্ন সংকেত ব্যবহার করে।
আমাদের কাছে ইনপুট সিগন্যালের একটি সেটও ছিল যা আরও সরাসরি গুণমান পরিমাপ করে (Midas সার্টিফিকেশন, ডেটা বৈধতা, বাগ, SLAs, স্বয়ংক্রিয় DQ চেক, ইত্যাদি), যেখানে অন্যরা মানের জন্য প্রক্সির মতো ছিল (যেমন, বৈধ মালিকানা, সুশাসনের স্বাস্থ্যবিধি, পাকা পথ টুলিং ব্যবহার)।
আগেই আলোচনা করা হয়েছে, Airbnb-এর DQ স্কোর এবং Verity-এর মধ্যে সম্ভবত ওভারল্যাপ রয়েছে। যখন Airbnb ডেটার গুণমানকে ডানদিকে ঠেলে দেওয়ার উপর ফোকাস করে, পরিমাপ এবং স্কোরিংয়ের উপর জোর দেয়, Lyft's Verity চেক ডেফিনেশন কনফিগারেশন, টেস্টিং এবং বৈধকরণ প্রক্রিয়াগুলিকে বাম দিকে স্থানান্তর করে, ডেটা গুণমানের সক্রিয় উন্নতির উপর জোর দিয়ে একটি সক্রিয় পদ্ধতি গ্রহণ করে।
এখন, আমার প্রাথমিক আগ্রহ বাম দিকে, চেক সংজ্ঞা কনফিগারেশন, পরীক্ষা এবং বৈধতা দিকগুলিতে।
কীভাবে লিফট তার প্রক্রিয়াগুলিতে ডেটা গুণমান পরীক্ষাকে একীভূত করে?
বর্তমানে, Lyft's Verity প্রাথমিকভাবে তার Hive ডেটা গুদামে সংরক্ষিত ডেটার গুণমান নিশ্চিত করার উপর দৃষ্টি নিবদ্ধ করে। যাইহোক, ভবিষ্যতে অন্যান্য ডেটা উত্সগুলিকে সমর্থন করার জন্য এর ক্ষমতাগুলি প্রসারিত করার পরিকল্পনা রয়েছে।
উল্লেখ্য যে যখন তারা হাইভকে ডেটা ওয়ার্কহাউস হিসাবে উল্লেখ করে, তারা আসলে এটিকে একটি হাইব্রিড ডেটা স্টোরেজ সমাধান হিসাবে ব্যবহার করে, কাঠামোগত, প্রক্রিয়াকৃত এবং পরিষ্কার করা ডেটা (সিলভার লেয়ার) এর জন্য ডেটা গুদাম হিসাবে কাজ করে এবং কাঁচা ইভেন্টের জন্য ডেটা লেক হিসাবেও কাজ করে। তথ্য (ব্রোঞ্জ স্তর)।
হাইভ-এ খারাপ ডেটার গুণমান কলঙ্কিত পরীক্ষামূলক মেট্রিক্স, ভুল মেশিন লার্নিং বৈশিষ্ট্য এবং ত্রুটিপূর্ণ এক্সিকিউটিভ ড্যাশবোর্ডের কারণ।
ভেরিটির চেকগুলিকে একটি এয়ারফ্লো ডিএজি-তে সংহত করা যেতে পারে যাতে নিশ্চিত করা যায় যে শুধুমাত্র উচ্চ-মানের কাঁচা ডেটা প্রসেস করা হয় এবং প্রাপ্ত ডেটা হিসাবে Hive-এ সংরক্ষণ করা হয়।
ডেটা প্রযোজক এবং ভোক্তারা তাদের ডেটা গুণমান পরীক্ষাকে সংজ্ঞায়িত করতে পারে এবং ডেটা যখন এটি উত্পাদিত হয় বা এটি ভিতরে ব্যবহার করার আগে যাচাই করতে পারে
বাতাসের প্রবাহ বাফ্লাইট .…
ভেরিটিএয়ারফ্লো অপারেটর একটি ব্লকিং ফ্যাশনে ব্যবহার করা যেতে পারে একটি চেক ব্যর্থ হলে একটি DAG থামাতে, খারাপ ডেটাকে কখনও উত্পাদনে পৌঁছাতে বাধা দেয়৷ এটি ব্যবহার করে "
স্টেজ-চেক-এক্সচেঞ্জ ” প্যাটার্ন: আমরা একটি স্টেজড স্কিমাতে ডেটা তৈরি করি, একটি ব্লকিং অপারেটরের সাথে ডেটা যাচাই করি, তারপর এটিকে প্রোডাকশনে উন্নীত করি যদি এটি গুণমান পরীক্ষায় উত্তীর্ণ হয়।
অপরিশোধিত এবং প্রাপ্ত ডেটা যাচাই করার জন্য চেকগুলি ম্যানুয়ালি বা স্বয়ংক্রিয়ভাবে নির্ধারিত হতে পারে।
ভেরিটি শিডিউল করা চেকগুলি যেকোন ডেটা অর্কেস্ট্রেশন ইঞ্জিন থেকে বিচ্ছিন্ন থাকে, তাই এয়ারফ্লো বা ফ্লাইট সম্পূর্ণভাবে বন্ধ হয়ে গেলেও সেগুলি চলবে৷ এটি চেকগুলিকে সতর্ক না করার একটি সাধারণ সমস্যার প্রতিকার করে কারণ এয়ারফ্লো টাস্ক কখনই চলেনি৷
সুতরাং, চেক ট্রিগার করার জন্য মূলত 3টি প্রাথমিক উপায় রয়েছে: একটি Airflow DAG-এর অংশ হিসাবে, ম্যানুয়ালি, বা Verity প্ল্যাটফর্ম/UI এর মাধ্যমে নির্ধারিত।
এই ধরনের রিয়েল-টাইম চেক প্রয়োগ করা অসঙ্গতিগুলির তাত্ক্ষণিক সনাক্তকরণ সক্ষম করবে, যার ফলে সঞ্চয়স্থান এবং প্রক্রিয়াকরণের খরচ হ্রাস পাবে এবং সামগ্রিক ডেটা গুণমান বৃদ্ধি পাবে।
ভাল, পুঙ্খানুপুঙ্খভাবে বলতে গেলে, ভেরিটি চেকগুলি একটি API সার্ভারের মাধ্যমে পরিচালিত হয়, যা কিছু API-এর মাধ্যমে প্রোগ্রাম্যাটিকভাবে চেকগুলি ট্রিগার করতে ব্যবহার করা যেতে পারে।
ভেরিটি এপিআই সার্ভার — এই পরিষেবাটি সমস্ত বাহ্যিক এপিআই পরিচালনা করে চেক চালানোর পাশাপাশি তাদের ফলাফলগুলি স্থির রাখা এবং পুনরুদ্ধার করা। API সার্ভার কোনো চেক চালায় না, বরং আমাদের চেক সারিতে একটি বার্তা লেখে, যা ব্যবহার করে
সরল সারি পরিষেবা (SQS)।
তাই, হতে পারে, আপনি হাইভ চেঞ্জ ডেটা ক্যাপচার (CDC) এর সাথে একীভূত করার মাধ্যমে এই কাজগুলিকে আরও রিয়েল-টাইম ফ্যাশনে ট্রিগার করতে পারেন, যেমন একটি স্ট্রিমিং কাজ থেকে বা এমনকি দীর্ঘ প্রসারিত হিসাবে।
যাইহোক, যখন এয়ারফ্লো এর বাইরে কার্যকর করা হয়, তখন এই কাজগুলি ডেটা প্রসেসিং কাজকে ব্লক করতে সক্ষম হবে না; পরিবর্তে, তারা চেক সারিতে ঠেলে অ্যাসিঙ্ক্রোনাস সতর্কতা তৈরি করবে। কিছু ভোক্তা চেক ব্যর্থ হলে ডেটা প্রসেসিং বিলম্বিত করা পছন্দ করবে, অন্যরা বরং এগিয়ে যাবে এবং একটি সতর্কতা পাবে।
এখানে একটি উদাহরণ রয়েছে যা পরীক্ষা করে যে rider_events.session_id
কখনই শূন্য হয় না। এটি ক্যোয়ারী এবং কন্ডিশন উপাদানগুলির সমন্বয়ের মাধ্যমে সম্পন্ন করা হয়।
core rider events session_id is not null: # check name metadata: id: 90bde4fa-148b-4f06-bd5f-f15b3d2ad759 ownership_slack: #dispatch-service-dev tags: [rides, core-data, high-priority] query: type: dsl data_source_id: hive.core.rider_events filters: - session_id = null condition: type: fixed_threshold max: 0 notifier_group: pagerduty_policy: dispatch-service email: [email protected]
সত্যতা প্রাথমিকভাবে সম্পূর্ণ ডেটা স্কিমাগুলিকে সংজ্ঞায়িত করার পরিবর্তে ডেটা গুণমান পরীক্ষাকে সংজ্ঞায়িত এবং প্রয়োগ করার উপর দৃষ্টি নিবদ্ধ করে৷
স্কিমা বৈধতা একটি অভিনব ধারণা নয়. ইভেন্ট-ভিত্তিক সিস্টেমে ইভেন্ট ডেটা স্কিমা সংজ্ঞায়িত করার জন্য বেশ কয়েকটি পদ্ধতি বিদ্যমান, যেমন JSON স্কিমা, প্রোটোকল বাফার, অভ্র, বা Parquet এর মতো স্টোরেজ ফরম্যাট। সর্বোত্তম পছন্দটি আপনার প্রযুক্তিগত স্ট্যাক, ব্যবহার এবং নির্দিষ্ট প্রয়োজনীয়তার উপর নির্ভর করে।
যদিও ডেটা স্কিমাগুলি ডেটা অবজেক্ট বা টেবিলের সারির সামগ্রিক কাঠামো সংজ্ঞায়িত করার জন্য মূল্যবান, তারা গ্রাহকদের জন্য নির্দিষ্ট আরও পরিশীলিত বৈধতা পরীক্ষা যেমন ডেটা বিতরণ, ব্যবসার নিয়ম, SLA এবং থ্রেশহোল্ডগুলি ক্যাপচার করতে কম পড়ে।
ডেটা চুক্তিগুলি স্কিমা যাচাইকরণের বাইরে চলে যায়, যা সিনট্যাক্টিক্যাল ত্রুটিগুলি চিহ্নিত করার উপর ফোকাস করে। আমি ব্যক্তিগতভাবে দেখতে পাই যে JSON স্কিমা এখানে একটি আরও উপযুক্ত এবং পঠনযোগ্য বিকল্প অফার করে, কার্যকরভাবে এই কাঠামোগত এবং সিনট্যাকটিকাল বৈধকরণ ক্ষমতাগুলিকে সিরিয়ালাইজেশন বা স্টোরেজ উদ্বেগ থেকে আলাদা করে।
যাইহোক, শব্দার্থগত ত্রুটি মোকাবেলা করতে এবং ডেটার নির্ভুলতা বাড়ানোর জন্য, ডেটা চেক সংজ্ঞায়িত করার একটি কার্যকর উপায় থাকা ডেটা চুক্তির অন্যান্য দিকগুলিকে সংজ্ঞায়িত করার অনুমতি দেয়।
এখানেই ভেরিটি ডিএসএল খেলায় আসে।
একটি সিনট্যাক্টিক্যাল দৃষ্টিকোণ থেকে, ভোক্তা বা প্রযোজক জড়িত নির্বিশেষে বৈধতা পরীক্ষাগুলি সামঞ্জস্যপূর্ণ থাকে। বৈধতা নিয়মের সেট কোনো নির্দিষ্ট ভোক্তা বা প্রযোজকের সাথে আবদ্ধ নয় এবং একক স্কিমা হিসাবে একবার এবং সকলের জন্য সংজ্ঞায়িত করা যেতে পারে।
যাইহোক, ভেরিটি ডেটা কন্ট্রাক্ট ডিএসএল একটি সূক্ষ্ম কণিকা অফার করে যা ছোট স্বাধীন নিয়মগুলিকে সংজ্ঞায়িত করে, যা এই প্রসঙ্গে বিশেষভাবে উপযুক্ত: ডেটার শব্দার্থগত অর্থ এবং ব্যবহার নির্দিষ্ট ভোক্তার উপর নির্ভর করে পরিবর্তিত হয়। উপরন্তু, সমস্ত ভোক্তাদের একটি বস্তুর সমস্ত বৈশিষ্ট্য ব্যবহার করতে হবে না। তাদের প্রত্যাশা ভিন্ন। এটি বোঝায় না যে তারা পরস্পরবিরোধী (যা অবশ্যই একটি সমস্যা হবে), বরং পরিপূরক এবং স্বতন্ত্র।
অতএব, সমস্ত ভোক্তাদেরকে অনন্য নিয়মগুলি প্রতিষ্ঠা করার অনুমতি দেওয়া, যা যৌথভাবে একত্রিত হলে, ডেটা মানের শব্দার্থগত তাত্পর্যের একটি বিস্তৃত বোঝা প্রদান করতে পারে বেশ গুরুত্বপূর্ণ।
এবং এটি এই সহযোগিতামূলক দিক যা আমার সাথে বিশেষভাবে অনুরণিত হয়। আমার সাথে সহ্য করুন, এটি একটি প্রসারিত মনে হতে পারে, কিন্তু আমার দৃষ্টিকোণ থেকে, এটি উল্লেখ করার মতো। :)
ডেটা বিনিময় বিভিন্ন দলকে (উৎপাদক এবং ভোক্তাদের) কার্যকরভাবে সহযোগিতা করতে সক্ষম করে। ঐতিহ্যগত সফ্টওয়্যার ডেভেলপমেন্টে API-এর মতোই এই ডেটা এক্সচেঞ্জগুলির একটি ভাগ করা বোঝাপড়া প্রতিষ্ঠা করা সর্বোত্তম। মাইক্রোসার্ভিস আর্কিটেকচারে, ভোক্তা-চালিত চুক্তি (CDC) নামে পরিচিত একটি সহযোগিতামূলক পরীক্ষার পদ্ধতির উদ্ভব হয়েছে, যেখানে ভোক্তারা প্রযোজকদের দ্বারা প্রদত্ত API-এর প্রত্যাশিত আচরণকে সংজ্ঞায়িত করে। প্রযোজকরা নতুন সংস্করণ প্রকাশ করার আগে এই চুক্তিগুলি যাচাই করার জন্য দায়ী৷
আমি মনে করি ডেটা চুক্তিগুলি একই রকম সহযোগিতামূলক মনোভাব ভাগ করে নেয়। যদিও ডেটা যাচাইকরণ রিলিজের সময় না করে বাস্তব ডেটার উপর সঞ্চালিত হয় এবং রিলিজগুলিকে ব্লক করে না, এটি সহযোগিতার উপর ভিত্তি করে এবং ডেটা প্রযোজক এবং ভোক্তাদের মধ্যে টিমওয়ার্ককে উৎসাহিত করে। আমি দৃঢ়ভাবে বিশ্বাস করি যে এই সহযোগিতামূলক পদ্ধতিটি ডেটার গুণমান উন্নত করার চাবিকাঠি এবং প্রক্রিয়াটির সাথে আরও একত্রিত হওয়া উচিত।
ঠিক আছে, আমি সমান্তরাল আঁকার একটি বড় অনুরাগী…
আসলে লক্ষ্য করুন যে এই সহযোগিতামূলক দিকটি এমন কিছু যা লিফটের সত্যতা সনদের অংশ হিসাবেও উল্লেখ করা হয়েছে।
VerityUI Verity হোমপেজের মাধ্যমে একটি সুগমিত ডেটা আবিষ্কারের অভিজ্ঞতা প্রদান করে। চেক সংজ্ঞা মেটাডেটাতে আমাদের পূর্ণ-পাঠ্য অনুসন্ধান ব্যবহারকারীদের বর্তমানে প্রয়োগ করা সমস্ত চেক এবং তাদের চেক ফলাফল দেখতে দেয়। এটিতে টিমের মালিকানা, টেবিলের নাম এবং ট্যাগের মতো দরকারী সমষ্টি রয়েছে।
ভেরিটি প্ল্যাটফর্ম UI এর মাধ্যমে ভোক্তা এবং প্রযোজকদের মধ্যে ডেটা চুক্তির সমস্যাগুলি কীভাবে ভাগ করা হয় সে সম্পর্কে আমি সম্পূর্ণরূপে পরিষ্কার নই, তবে আমি নিশ্চিতভাবে ড্যাশবোর্ডগুলির মাধ্যমে সহযোগিতার তাত্পর্য স্বীকার করি:
সৌভাগ্যবশত, সোডা কোর নামে আরেকটি ওপেন-সোর্স ডেটা কোয়ালিটি ফ্রেমওয়ার্ক রয়েছে যা একই ধরনের কার্যকারিতা প্রদান করে।
সোডা কোর হল একটি বিনামূল্যের এবং ওপেন-সোর্স কমান্ড-লাইন টুল এবং পাইথন লাইব্রেরি যা ডেটা ইঞ্জিনিয়ারদের ডেটা গুণমান পরীক্ষা করতে সক্ষম করে। এটি ব্যবহারকারী-সংজ্ঞায়িত ইনপুট ব্যবহার করে এসকিউএল কোয়েরি তৈরি করে যা একটি ডেটা উৎসে ডেটাসেটে চেক চালায় অবৈধ, অনুপস্থিত বা অপ্রত্যাশিত ডেটা খুঁজে পেতে। যখন চেক ব্যর্থ হয়, তখন তারা সেই ডেটা সারফেস করে যা আপনি চেকে "খারাপ" হিসাবে সংজ্ঞায়িত করেছেন।
একটি ডেটাসেটের স্ক্যান করার সময়, সোডা কোর অবৈধ, অনুপস্থিত বা অপ্রত্যাশিত ডেটা সনাক্ত করতে পূর্বনির্ধারিত চেকগুলিকে মূল্যায়ন করে।
এখানে পূর্বে সংজ্ঞায়িত Verity DSL পরীক্ষার জন্য Soda.core সিনট্যাক্স ব্যবহার করে সমতুল্য চেক।
name: rider_events_session_id_check source: hive query: SELECT * FROM rider_events WHERE session_id IS NULL; raise_alert: true threshold: 10 action: slack message: "There are more than 10 rows that are null for the 'session_id' property in the 'rider_events' table. Please investigate this issue."
soda run --check checks/rider_events_session_id_check.yaml
আপনার ডেটার গুণমান নিশ্চিত করার জন্য সোডা কোর একটি শক্তিশালী টুল। এটি আপনার ব্যবসার জন্য সমস্যা সৃষ্টি করার আগে ডেটা সমস্যাগুলিকে তাড়াতাড়ি শনাক্ত করতে এবং ঠিক করতে সাহায্য করতে পারে।
এটি লক্ষণীয় যে সোডা কোর স্পার্ক ডেটাফ্রেমের সাথে নির্বিঘ্নে একত্রিত করে ডেটা স্ট্রিমিংয়ের জন্য ডেটা গুণমান পরীক্ষাকে সহজতর করতে পারে।
যদিও Hive-এর জন্য Verity-এর ডেটা গুণমান পরীক্ষাগুলি স্ট্যাটিক ডেটাসেটে প্রয়োগ করা হয়, স্ট্রিমিং ডেটার জন্য চেকগুলি আরও হালকা এবং দক্ষ হতে হবে।
ডেটা সাধারণত ইভেন্টের ছোট ব্যাচগুলিতে প্রক্রিয়া করা হয়, খুব কম লেটেন্সি সহ, এগুলিকে রিয়েল-টাইম চেক এবং নির্দিষ্ট ব্যবহারের ক্ষেত্রে যেমন অসঙ্গতি সনাক্তকরণের জন্য উপযুক্ত করে তোলে।
পরিশেষে, আসুন উল্লেখ করি যে অন্যান্য ডেটা যাচাইকরণ সরঞ্জাম উপলব্ধ রয়েছে, যেমন DeeQu, Great Expectations, …
আমরা ডেটা মানের উন্নতির জন্য দুটি স্বতন্ত্র পন্থা দেখেছি, প্রতিটির নিজস্ব শক্তি এবং পদ্ধতি রয়েছে। একটি দৃশ্যমানতা এবং পর্যবেক্ষণযোগ্যতা বৃদ্ধির উপর দৃষ্টি নিবদ্ধ করে, গুণমান বার বাড়াতে ডেটা উত্পাদকদের অনুপ্রাণিত করে। অন্যটি একটি পরীক্ষা এবং বৈধতা-প্রথম পদ্ধতির মাধ্যমে মানের মান উন্নত করাকে অগ্রাধিকার দেয়। উভয়ই পরিপূরক।
ভেরিটি ডেটা চেক সংজ্ঞায়িত করার জন্য শুধুমাত্র একটি ডোমেন-নির্দিষ্ট ভাষা (DSL) নয়; এটি একটি কেন্দ্রীভূত প্ল্যাটফর্ম যা ডেটা অনুশীলনকারীদের কার্যকরভাবে সহযোগিতা করার ক্ষমতা দেয়। এই প্ল্যাটফর্মটি প্রযোজক এবং ভোক্তাদের বিন্যাস, গঠন এবং নির্ভুলতা সহ ডেটা গুণমানের প্রত্যাশার সাথে সারিবদ্ধ করতে সহায়তা করে।
Verity-এর ডেটা কন্ট্রাক্ট ম্যানেজমেন্ট ক্ষমতা আরও উন্নত করা যেতে পারে (হয়?) আরও পরিশীলিত ডেটা মানের চাহিদা মেটাতে মেটাডেটা ম্যানেজমেন্ট এবং আবিষ্কারের মতো বিস্তৃত বৈশিষ্ট্যগুলির সাথে একীভূত করে।
Airbnb-এর DQ স্কোরের মতো, Lyft's Verity ডেটা প্রযোজক এবং ভোক্তাদের মধ্যে একটি সহযোগিতামূলক প্রতিক্রিয়া লুপ তৈরি করে। ডেটা মানের মালিকানা নিতে প্রতিটি দলকে উৎসাহিত ও ক্ষমতায়নের মাধ্যমে, Verity একটি সহায়ক পরিবেশ গড়ে তোলে যেখানে ডেটা গুণমান ক্রমাগত উন্নত হয়।
এই নিবন্ধটি দরকারী পাওয়া গেছে? আমাকে ফল কর
এছাড়াও এখানে প্রকাশিত.