SIG TFX-Addons কমিউনিটিতে যোগ দিন এবং TFX কে আরও ভাল করতে সাহায্য করুন! SIG TFX-Addons- এ যোগ দিন

অ্যাপাচি বিম এবং টিএফএক্স

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

স্থাপনা এবং স্কেলিবিলিটি

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

দেখুন এ্যাপাচি রশ্মি এ্যাপাচি রশ্মি সম্পর্কে আরও তথ্যের জন্য ডকুমেন্টেশন।

Google মেঘ ব্যবহারকারীদের জন্য, Dataflow প্রস্তাবিত রানার, যা সম্পদ, গতিশীল কাজ rebalancing অন্যান্য Google মেঘ পরিষেবার সঙ্গে গভীর সমাকলনের autoscaling মাধ্যমে একটি serverless এবং খরচ কার্যকর প্ল্যাটফর্ম প্রদান করে, বিল্ট-ইন নিরাপত্তা, এবং পর্যবেক্ষণ করা হয়।

কাস্টম পাইথন কোড এবং নির্ভরতা

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

  • প্রাকপ্রসেসিং_ফএন ব্যবহারকারীর নিজস্ব পাইথন মডিউলটি উল্লেখ করতে হবে
  • মূল্যায়নকারী উপাদানটির জন্য একটি কাস্টম এক্সট্র্যাক্টর
  • কাস্টম মডিউলগুলি যা একটি টিএফএক্স উপাদান থেকে উপ-শ্রেণিবদ্ধ

TFX জন্য রশ্মি সমর্থন উপর নির্ভর পাইথন পাইপলাইন অধীনস্থ ম্যানেজিং পাইথন নির্ভরতা হ্যান্ডেল করতে। বর্তমানে এটি পরিচালনা করার দুটি উপায় রয়েছে:

  1. পাইথন কোড এবং উত্স প্যাকেজ হিসাবে নির্ভরশীলতা সরবরাহ করা
  2. [কেবলমাত্র ডেটাফ্লো] কর্মী হিসাবে একটি ধারক চিত্র ব্যবহার করা

এগুলি পরবর্তী আলোচনা করা হয়।

উত্স প্যাকেজ হিসাবে পাইথন কোড এবং নির্ভরতা সরবরাহ করা

এটি এমন ব্যবহারকারীদের জন্য প্রস্তাবিত যা:

  1. পাইথন প্যাকেজিং এবং এর সাথে পরিচিত
  2. কেবল পাইথন উত্স কোড ব্যবহার করুন (যেমন, কোনও সি মডিউল বা শেয়ার্ড লাইব্রেরি নেই)।

মধ্যে পাথ এক অনুসরন করুন পাইথন পাইপলাইন অধীনস্থ ম্যানেজিং নিম্নলিখিত beam_pipeline_args এই ব্যবহার প্রদান:

  • --setup_file
  • --extra_package
  • --requirements_file

বিজ্ঞপ্তি: উপরে ক্ষেত্রে কোনো, নিশ্চিত করুন যে একই সংস্করণ হোন tfx নির্ভরশীলতার হিসেবে তালিকাভুক্ত করা হয়।

[কেবলমাত্র ডেটাফ্লো] কোনও শ্রমিকের জন্য একটি ধারক চিত্র ব্যবহার করা

TFX 0.26.0 এবং উপরোক্ত ব্যবহার করার জন্য পরীক্ষামূলক সমর্থন আছে কাস্টম ধারক ইমেজ Dataflow শ্রমিকদের জন্য।

এটি ব্যবহার করতে, আপনাকে এগুলি করতে হবে:

  • একটি Docker ইমেজ যা উভয় হয়েছে বিল্ড tfx এবং ব্যবহারকারীদের কাস্টম কোড এবং নির্ভরতা আগে থেকে ইনস্টল।
    • ব্যবহারকারী যারা (1) ব্যবহারের জন্য tfx>=0.26 এবং (2) পাইথন 3.7 ব্যবহার তাদের পাইপলাইনগুলি বিকাশ, এই কাজ করতে সবচেয়ে সহজ উপায় কর্মকর্তা সংশ্লিষ্ট সংস্করণ ব্যাপ্ত হয় tensorflow/tfx ছবি:
# You can use a build-arg to dynamically pass in the
# version of TFX being used to your Dockerfile.

ARG TFX_VERSION
FROM tensorflow/tfx:${TFX_VERSION}
# COPY your code and dependencies in
  • ডেটাফ্লো দ্বারা ব্যবহৃত প্রকল্পের মাধ্যমে অ্যাক্সেসযোগ্য একটি ধারক ইমেজ রেজিস্ট্রিতে নির্মিত ছবিটি পুশ করুন।
    • Google মেঘ ব্যবহারকারীদের ব্যবহারের বিষয়ে বিবেচনা করতে ক্লাউড বিল্ড যা চমত্কারভাবে পদক্ষেপ উপরে স্বয়ংক্রিয়রূপে।
  • নিম্নলিখিত প্রদান beam_pipeline_args :
beam_pipeline_args.extend([
    '--runner=DataflowRunner',
    '--project={project-id}',
    '--worker_harness_container_image={image-ref}',
    '--experiments=use_runner_v2',
])

TODO (b / 171733562): ডেটাফ্রোতে ডিফল্ট হয়ে গেলে Use_runner_v2 সরান।

করণীয় (বি / 179738639): ডকুমেন্টেশন তৈরি করুন কিভাবে পরীক্ষা কাস্টম ধারক করতে স্থানীয়ভাবে পর https://issues.apache.org/jira/browse/BEAM-5440

বিম পাইপলাইন যুক্তি

বেশ কয়েকটি টিএফএক্স উপাদান বিতরণ করা ডেটা প্রক্রিয়াকরণের জন্য বিমের উপর নির্ভর করে। তারা সঙ্গে কনফিগার করা হয় beam_pipeline_args , যা পাইপলাইন নির্মাণের সময় সময় নির্ধারিত হয়:

my_pipeline = Pipeline(
    ...,
    beam_pipeline_args=[...])

TFX 0.30 এবং উপরোক্ত, একটি ইন্টারফেস যোগ করা with_beam_pipeline_args , কম্পোনেন্ট প্রতি পাইপলাইন স্তর মরীচি args ব্যাপ্ত জন্য:

example_gen = CsvExampleGen(input_base=data_root).with_beam_pipeline_args([...])