প্রগতি বারের সংখ্যাগুলি স্পার্ক-শেলের অর্থ কী?


96

আমার স্পার্ক শেলটিতে, যখন আমি কোনও ফাংশন সম্পাদন করি তখন নীচের মতো এন্ট্রিগুলির অর্থ কী?

[Stage7:===========>                              (14174 + 5) / 62500]

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

আমার কাছে দুর্দান্ত
লাগছে

4
দুর্দান্ত প্রশ্ন। ভাবছি কেন আমি এটি এক বছরের জন্য জিজ্ঞাসা করিনি (স্পার্কে আমার কাজের সময়কাল) !!
প্রশান্ত

উত্তর:


106

কি আপনি পেতে একটি হল Console Progress Bar, [Stage 7:শো পর্যায় আপনি এখন থাকছে, (14174 + 5) / 62500]হয় (numCompletedTasks + numActiveTasks) / totalNumOfTasksInThisStage]। অগ্রগতি বার দেখায় numCompletedTasks/totalNumOfTasksInThisStage

যখন এটি দেখানো হবে উভয় spark.ui.showConsoleProgress সত্য (ডিফল্ট অনুসারে) হয় এবং লগ ইন করুন স্তরের conf/log4j.propertiesহয় ERRORবা WARN(!log.isInfoEnabled সত্য)।

আসুন কনসোল প্রোগ্রেসবার.স্কালায় কোডটি দেখুন যা এটি দেখায়:

private def show(now: Long, stages: Seq[SparkStageInfo]) {
  val width = TerminalWidth / stages.size
  val bar = stages.map { s =>
    val total = s.numTasks()
    val header = s"[Stage ${s.stageId()}:"
    val tailer = s"(${s.numCompletedTasks()} + ${s.numActiveTasks()}) / $total]"
    val w = width - header.length - tailer.length
    val bar = if (w > 0) {
      val percent = w * s.numCompletedTasks() / total
      (0 until w).map { i =>
        if (i < percent) "=" else if (i == percent) ">" else " "
      }.mkString("")
    } else {
    ""
    }
    header + bar + tailer
  }.mkString("")

  // only refresh if it's changed of after 1 minute (or the ssh connection will be closed
  // after idle some time)
  if (bar != lastProgressBar || now - lastUpdateTime > 60 * 1000L) {
    System.err.print(CR + bar)
    lastUpdateTime = now
  }
  lastProgressBar = bar
}

8
দুর্দান্ত উত্তর! এই বৈশিষ্ট্যটি চালু করে এমন পুল অনুরোধের লিঙ্ক এখানে দেওয়া হয়েছে: github.com/apache/spark/pull/3029 । এই পৃষ্ঠায় কিছু আকর্ষণীয় নকশা আলোচনা রয়েছে: আর এই অগ্রগতি বারের আচরণ, বিশেষত মাল্টি-স্টেজ কাজের জন্য।
জোশ রোসেন

33

আসুন ধরে নেওয়া যাক আপনি নিম্নলিখিতটি দেখতে পাচ্ছেন (এক্স, এ, বি, সি সর্বদা অ নেগেটিভ পূর্ণসংখ্যা হয়):

[Stage X:==========>            (A + B) / C]

(উদাহরণস্বরূপ এক্স = 7, এ = 14174, বি = 5 এবং সি = 62500 প্রশ্নের মধ্যে)

এটি একটি উচ্চ স্তরে যা চলছে তা এখানে: স্পার্ক প্রতিটি পর্যায়ে পর্যায়ে এবং কার্যগুলিতে কার্য বিরতি দেয়। এই অগ্রগতি সূচকটির অর্থ হ'ল পর্যায় এক্স সি কার্যক্রমে গঠিত। মৃত্যুদন্ড কার্যকর হওয়ার সময়, এ এবং বি শূন্য থেকে শুরু করে এবং পরিবর্তন করে চলে। A হ'ল সর্বদা ইতিমধ্যে সমাপ্ত টাস্কের সংখ্যা এবং বি বর্তমানে সম্পাদিত কার্যগুলির সংখ্যা। অনেক টাস্কের সাথে এক পর্যায়ে (আপনার কাছে থাকা শ্রমিকের চেয়ে বেশি) আপনি বিয়ের এমন একটি সংখ্যায় বেড়ে উঠার প্রত্যাশা করা উচিত যা আপনার ক্লাস্টারে আপনার কতজন শ্রমিকের সাথে সম্পর্কিত, তারপরে আপনার কাজগুলি সম্পূর্ণ হিসাবে দেখা উচিত increase শেষের দিকে, শেষ কয়েকটি কার্য সম্পাদন হিসাবে, বি 0 টি না পৌঁছানো অবধি কমতে শুরু করবে, যার বিন্দু A এর সমান হওয়া উচিত, স্টেজটি সম্পন্ন হবে এবং স্পার্কটি পরবর্তী পর্যায়ে চলে যাবে। সি পুরো সময়ের মধ্যে স্থির থাকবে, মনে রাখবেন এটি পর্যায়টিতে মোট কাজের সংখ্যা এবং কখনই পরিবর্তন হয় না।

====> আমি উপরে বর্ণিত বিষয়ের উপর ভিত্তি করে করা কাজের শতাংশ দেখায়। শুরুতে>> বাম দিকে হবে এবং কার্য সমাপ্ত হওয়ার সাথে সাথে ডানে চলে যাবে।

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