JP2022532739A - タスクマイグレーション方法、装置、電子機器および記憶媒体 - Google Patents

タスクマイグレーション方法、装置、電子機器および記憶媒体 Download PDF

Info

Publication number
JP2022532739A
JP2022532739A JP2021568198A JP2021568198A JP2022532739A JP 2022532739 A JP2022532739 A JP 2022532739A JP 2021568198 A JP2021568198 A JP 2021568198A JP 2021568198 A JP2021568198 A JP 2021568198A JP 2022532739 A JP2022532739 A JP 2022532739A
Authority
JP
Japan
Prior art keywords
task
spark
hadoop
conversion
cluster
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2021568198A
Other languages
English (en)
Inventor
ハオ,ハイジアオ
エルブイ,スーグアン
ザオ,ジャンシン
リウ,リンホン
リー,ハオ
Original Assignee
バイドゥ オンライン ネットワーク テクノロジー(ペキン) カンパニー リミテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by バイドゥ オンライン ネットワーク テクノロジー(ペキン) カンパニー リミテッド filed Critical バイドゥ オンライン ネットワーク テクノロジー(ペキン) カンパニー リミテッド
Publication of JP2022532739A publication Critical patent/JP2022532739A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • G06F9/4862Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate
    • G06F9/4875Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate with migration policy, e.g. auction, contract negotiation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

本出願はデータ処理の分野に関するタスクマイグレーション方法、装置、電子機器および記憶媒体を開示する。その中の方法は、ユーザが提出したタスクを取得するステップと、前記タスクがHadoopタスクであり、タスク変換が必要であると決定された場合、前記タスク中のHadoopパラメータをSparkで認識可能なパラメータに変換するステップと、変換結果を予め設定されたツールキットに注入し、Sparkクラスターに提出するステップと、を含むことができる。本出願の前記解決策を適用すると、ユーザの作業量を低減し、処理効率などを向上させることができる。【選択図】図1

Description

本出願は、出願日が2020年03月05日であり、出願番号が2020101471727であり、発明の名称が「タスクマイグレーション方法、装置、電子機器および記憶媒体」である中国特許出願の優先権を主張する。
本出願はコンピュータアプリケーション技術に関し、特に、データ処理の分野のタスクマイグレーション方法、装置、電子機器および記憶媒体に関する。
Sparkモデルの計算力と性能はいずれもHadoopモデルより優れている。Hadoopは、クラスターの威力を十分に利用して高速演算と記憶を行う分散型システムであり、Sparkは高速で、大容量のデータ処理のための汎用エンジンである。
従来の方式では、多くのオフラインタスクはいずれもHadoopモデルを使用して作成および実行し、Sparkモデルの利点を考慮すると、Hadoopタスクのマイグレーション、すなわちHadoopタスクをSparkタスクに変換を実現できることが望まれる。
現在の処理方式では、通常、業務開発者が手動でタスクの変換を行う必要があるが、このような方式は、業務開発者に大きな作業量が必要であり、効率が低い。
これに鑑みて、本出願はタスクマイグレーション方法、装置、電子機器および記憶媒体を提供する。
タスクマイグレーション方法は、
ユーザが提出したタスクを取得するステップと、
前記タスクがHadoopタスクであり、タスク変換が必要であると決定された場合、前記タスク中のHadoopパラメータをSparkで認識可能なパラメータに変換するステップと、
変換結果を予め設定されたツールキットに注入し、Sparkクラスターに提出するステップと、を含む。
本出願の好ましい実施例によれば、前記タスク変換が必要であると決定されるステップは、
サーバに要求することによって前記ユーザが予め作成した配置を取得するステップと、
前記配置に基づいてタスク変換が必要であるか否かを決定するステップと、を含む。
本出願の好ましい実施例によれば、当該方法は、
前記タスクがHadoopタスクからSparkタスクへの変換を指示するHadoop2Sparkタスクである場合、前記タスク中のHadoopパラメータをSparkで認識可能なパラメータに変換するステップと、
変換結果を予め設定されたツールキットに注入し、前記Sparkクラスターに提出するステップと、をさらに含む。
本出願の好ましい実施例によれば、当該方法は、
前記タスクがHadoopタスクであり、タスク変換が不要であると決定された場合、前記タスクをHadoopクラスターに提出するステップと、
前記タスクがSparkタスクである場合、前記タスクを前記Sparkクラスターに提出するステップと、をさらに含む。
本出願の好ましい実施例によれば、前記変換結果を予め設定されたツールキットに注入し、Sparkクラスターに提出するステップは、
変換結果を予め設定されたツールキットに注入し、SparkタスクをSparkクラスターに提出するステップを含み、
前記Sparkタスクは予め設定された処理を経た後に、Hadoopロジックと等価なマッピングmapとリデュースreduce処理を実現する。
タスクマイグレーション装置は、タスク取得ユニットおよびタスク処理ユニットを含み、
前記タスク取得ユニットは、ユーザが提出したタスクを取得するために用いられ、
前記タスク処理ユニットは、前記タスクがHadoopタスクであり、タスク変換が必要であると決定された場合、前記タスク中のHadoopパラメータをSparkで認識可能なパラメータに変換し、変換結果を予め設定されたツールキットに注入し、Sparkクラスターに提出するために用いられる。
本出願の好ましい実施例によれば、前記タスク処理ユニットは、サーバに要求することによって前記ユーザが予め作成した配置を取得し、前記配置に基づいてタスク変換が必要であるか否かを決定するために用いられる。
本出願の好ましい実施例によれば、前記タスク処理ユニットは、さらに、前記タスクがHadoopタスクからSparkタスクへの変換を指示するHadoop2Sparkタスクである場合、前記タスク中のHadoopパラメータをSparkで認識可能なパラメータに変換し、変換結果を予め設定されたツールキットに注入し、前記Sparkクラスターに提出するために用いられる。
本出願の好ましい実施例によれば、前記タスク処理ユニットは、さらに、前記タスクがHadoopタスクであり、タスク変換が不要であると決定された場合、前記タスクをHadoopクラスターに提出し、前記タスクがSparkタスクである場合、前記タスクを前記Sparkクラスターに提出するために用いられる。
本出願の好ましい実施例によれば、前記タスク処理ユニットは、さらに、変換結果を予め設定されたツールキットに注入し、SparkタスクをSparkクラスターに提出し、前記Sparkタスクは予め設定された処理を経た後に、Hadoopロジックと等価なマッピングmapとリデュースreduce処理を実現するために用いられる。
電子機器では、
少なくとも一つのプロセッサと、
前記少なくとも一つのプロセッサに通信接続されたメモリと、を含み、
前記メモリに前記少なくとも一つのプロセッサにより実行可能な命令が記憶されており、前記命令が前記少なくとも一つのプロセッサにより実行されると、前記少なくとも一つのプロセッサが上記に記載の方法を実行することができる。
コンピュータ命令が記憶されている非一時的なコンピュータ読み取り可能な記憶媒体では、前記コンピュータ命令は、前記コンピュータに上記に記載の方法を実行させる。
上記の出願の一つの実施例は以下のような利点または有益な効果を有する。ユーザが提出したHadoopタスクをSparkタスクに直接に変換することができるため、ユーザがゼロコストのタスクマイグレーションを実現することができ、さらに、ユーザの作業量を低減し、処理効率を向上させることができ、また、ユーザが自分のニーズに基づいてタスク変換を行うか否かを柔軟に配置することができ、ユーザの異なるシナリオのニーズなどを満たすことができ、また、計算力がより強く、性能がより良いSparkモデルを使用してmapとreduce処理を完成することができ、ユーザのオフライン計算ニーズなどをより良く満たすことができ、また、タスク変換が不要であるHadoopタスクおよびSparkタスクなどの既存の他のタスクの処理に影響を与えず、良好な互換性などを有する。上記選択可能な方式が有する他の効果は、以下で具体的な実施例を併せて説明する。
図面は、本出願をより良く理解するためのものであり、本出願を限定しない。
本出願の前記タスクマイグレーション方法の第1の実施例のフローチャートである。 本出願の前記タスクマイグレーション方法の第2の実施例のフローチャートである。 本出願の前記提出されたSparkタスクの処理プロセスの概略図である。 本出願の前記タスクマイグレーション装置400の実施例の構成の構造概略図である。 本出願の実施例の前記方法に係る電子機器のブロック図。
以下、図面に基づいて、本出願の例示のな実施例を表現する。理解を容易にするために、本出願の実施例の様々な詳細が含まれており、それらは単なる例示と見なされるべきである。従って、当業者は、本出願の範囲及び精神から逸脱することなく、本明細書に記載の実施形態に対して様々な変更及び修正を行うことができることを認識するはずである。同様に、簡明のために、以下の表現では、よく知られた機能と構造の表現は省略される。
また、本明細書の用語「及び/又は」は、関連対象の関連関係のみを説明するものであり、3種類の関係が存在可能であることを表し、例えば、A及び/又はBは、Aのみが存在するか、A及びBが同時に存在するか、Bのみが存在するという3つの場合を表すことができる。符号「/」は、一般的に前後の関連対象が「又は」の関係であることを表すことを理解されたい。
図1は本出願の前記タスクマイグレーション方法の第1の実施例のフローチャートである。図1に示すように、以下の具体的な実現方式を含む。
101では、ユーザが提出したタスクを取得する。
102では、前記タスクがHadoopタスクであり、タスク変換が必要であると決定された場合、タスク中のHadoopパラメータをSparkで認識可能なパラメータに変換する。
103では、変換結果を予め設定されたツールキットに注入し、Sparkクラスターに提出する。
本実施例では、ユーザ(例えば、業務開発者)が提出したタスクを取得した後に、まず、タスクのタイプを決定することができ、Hadoopタスクである場合、さらに、タスク変換が必要であるか否かを決定することができる。既存の処理方式に従って、ユーザがオフラインタスクのクライアントを使用してHadoopタスクを提出した後に、Hadoopクラスターに直接に提出することができるが、本実施例では、クライアントはユーザが提出したHadoopタスクを傍受し、さらに、タスク変換が必要であるか否かを決定する。
好ましい実現方式として、クライアントは、サーバに要求することによってユーザが予め作成した配置を取得し、前記配置に基づいてタスク変換が必要であるか否かを決定することができる。例えば、サーバに要求してSpark方式で実行するかどうかのフラグビットを取得することができ、当該タスクが管理プラットフォームでSpark方式で実行するようにユーザによって選択されることを当該フラグビットが表示した場合、タスク変換が必要であると決定され、それ以外の場合、タスク変換が不要であると決定される。
したがって、タスク変換が必要であると決定された場合、Hadoopタスク中のHadoopパラメータをSparkで認識可能なパラメータに変換することができる。すなわちクライアントは傍受されたHadoopタスクを解析し、Hadoop命令をSpark命令に変換することができる。具体的な変換方式は、設定の変換規則に従って変換するなどのように、予め設定することができる。
その後、変換結果を予め設定されたツールキットに注入し、Sparkクラスターに提出することができる。好ましい実現方式として、前記ツールキットはmrtools.jarツールキットであってもよい。mrtools.jarツールキットをSpark appとして、SparkタスクをSparkクラスターに提出することができる。
Sparkクラスターに提出するSparkタスクは予め設定された処理を経た後に、Hadoopロジックと等価なマッピング(map)よリデュース(reduce)処理を実現する。
具体的には、Sparkクラスターに到着するツールキットは、Sparkコンテキスト(context)を初期化することを担当することができ、先後にmap段階のHadoopストリーミング(HadoopStreaming)演算子、シャッフル(shuffle)段階の再パーティションおよびパーティション内でソート(repartitionAndSortWithinPartitions)演算子およびreduce段階のHadoopStreaming演算子などを経て、Hadoopロジックと等価なmapとreduce処理を実現する。Sparkモデルは特有のメモリモデル和Kryoシリアル化などの方式を使用して、中央処理装置(CPU、Central Processing Unit)の計算をより速く、より節約することを実現することができる。
以上の説明から分かるように、本実施例の前記方法では、ユーザが提出したHadoopタスクをSparkタスクに直接に変換することができるため、ユーザがゼロコストのタスクマイグレーションを実現することができ、さらに、ユーザの作業量を低減し、処理効率を向上させることができ、また、ユーザが自分のニーズに基づいてタスク変換を行うか否かを柔軟に配置することができ、ユーザの異なるシナリオのニーズなどを満たすことができ、また、計算力がより強く、性能がより良いSparkモデルを使用してmapとreduce処理を完成することができ、ユーザのオフライン計算ニーズなどをより良く満たすことができる。
ユーザが提出したタスクは、Hadoopタスク以外に、HadoopタスクからSparkタスクに変換するHadoop2SparkタスクおよびSparkタスクなどであってもよい。
以上の説明されたことは、いずれも、ユーザが提出したタスクがHadoopタスクであり、タスク変換が必要であると決定された場合の処理方式である。ユーザが提出したタスクがHadoopタスクであり、タスク変換が不要であると決定された場合、直接にタスクをHadoopクラスターに提出することができる。ユーザが提出したタスクがSparkタスクである場合、直接にタスクをSparkクラスターに提出することができる。
ユーザが提出したタスクがHadoop2Sparkタスクである場合、タスク中のHadoopパラメータをSparkで認識可能なパラメータに変換し、変換結果を予め設定されたツールキットに注入し、Sparkクラスターに提出することができる。Hadoop2SparkタスクはHadoopタスクからSparkタスクへ変換を指示するタスクであるため、サーバに要求することによってユーザが予め作成した配置を取得し、前記配置に基づいてタスク変換が必要であるか否かを決定するの処理を実行する必要がない。前述したように、好ましい実現方式として、前記ツールキットはmrtools.jarツールキットであってもよい。mrtools.jarツールキットをSpark appとして、SparkタスクをSparkクラスターに提出することができる。Sparkクラスターに提出するSparkタスクは予め設定された処理を経た後に、Hadoopロジックと等価なmapとreduce処理を実現することができる。
以上の説明から分かるように、本実施例の前記方法はタスク変換が不要であるHadoopタスクおよびSparkタスクなどの既存の他のタスクの処理に影響を与えず、良好な互換性などを有する。
上記の説明を総合すると、図2は本出願の前記タスクマイグレーション方法の第2の実施例のフローチャートである。図2に示すように、以下の具体的な実現方式を含む。
201では、ユーザが提出したタスクを取得する。
ユーザが予めサーバの管理プラットフォームに登録およびタスク配置などを行うことができ、例えば、管理プラットフォームにHadoopタスクをSpark方式で実行するように選択することができる。
また、ユーザは実際のニーズに応じて、Hadoopタスク、Hadoop2SparkおよびSparkタスクを含むなど、異なるタイプのタスクを提出することができる。
202では、ユーザが提出したタスクのタイプを決定し、Sparkタスクである場合、203を実行し、Hadoopタスクである場合、204を実行し、Hadoop2Sparkである場合、207を実行する。
203では、タスクをSparkクラスターに提出し、その後にプロセスを終了する。
ユーザが提出したSparkタスクについて、既存の方式でSparkクラスターに提出することができる。
204では、サーバに要求することによってユーザが予め作成した配置を取得する。
205では、前記配置に基づいてタスク変換が必要であるか否かを決定し、そうでない場合、206を実行し、そうである場合、207を実行する。
例えば、サーバに要求してSpark方式で実行するかどうかのフラグビットを取得することができ、当該タスクが管理プラットフォームでSpark方式で実行するようにユーザによって選択されることを当該フラグビットが表示した場合、タスク変換が必要であると決定され、それ以外の場合、タスク変換が不要であると決定される。
206では、タスクをHadoopクラスターに提出し、その後にプロセスを終了する。
ユーザが提出したHadoopタスクについて、タスク変換が不要であると決定された場合、既存の方式でHadoopクラスターに提出することができる。
207では、タスク中のHadoopパラメータをSparkで認識可能なパラメータに変換する。
208では、変換結果を予め設定されたツールキットに注入し、Sparkクラスターに提出し、その後にプロセスを終了する。
変換結果を予め設定されたツールキットに注入し、SparkタスクをSparkクラスターに提出することができる。前記ツールキットはmrtools.jarツールキットであってもよい、mrtools.jarツールキットをSpark appとして、SparkタスクをSparkクラスターに提出することができる。
Sparkクラスターに提出するSparkタスクは予め設定された処理を経た後に、Hadoopロジックと等価なmapとreduce処理を実現する。
図3は本出願の前記提出されたSparkタスクの処理プロセスの概略図である。図3に示すように、Sparkクラスターに到着するツールキットは、Sparkコンテキストを初期化することを担当することができ、先後にmap段階のHadoopStreaming演算子、shuffle段階のrepartitionAndSortWithinPartitions演算子和reduce段階のHadoopStreaming演算子などを経て、Hadoopロジックと等価なmapとreduce処理を実現し、すなわちタスクの出力とHadoopクラスター中のタスクの出力は同じであり、最終的に取得された結果を出力する。
なお、前述の各方法の実施例について、簡単に説明するために、それらを一連の動作の組み合わせとして表現するが、当業者は、本出願が説明された動作の順次によって制限されないことを理解することができるため、本出願に基づいて、いくつかのステップは、他の順次または同時に行うことができる。次に、当業者は、明細書に説明された実施例がいずれも好ましい実施例に属し、関する動作とモジュールが必ずも本出願に必修ではないことを理解することができる。
上記の実施例では、各実施例に対する説明はそれ自体に重点があり、ある実施例に詳細に説明されてない部分は、他の実施例の関連説明を参照することができる。
つまり、本出願方法の実施例の前記解決策を採用し、ユーザが提出したHadoopタスクをSparkタスクに直接に変換することができるため、ユーザがゼロコストのタスクマイグレーションを実現することができ、さらに、ユーザの作業量を低減し、処理効率を向上させることができ、また、ユーザが自分のニーズに基づいてタスク変換を行うか否かを柔軟に配置することができ、ユーザの異なるシナリオのニーズなどを満たすことができ、また、計算力がより強く、性能がより良いSparkモデルを使用してmapとreduce処理を完成することができ、ユーザのオフライン計算ニーズなどをより良く満たすことができ、また、タスク変換が不要であるHadoopタスクおよびSparkタスクなどの既存の他のタスクの処理に影響を与えず、良好な互換性などを有する。
以上は方法の実施例に関する説明であり、以下は、装置の実施例によって、本出願の前記解決策についてさらに説明する。
図4は本出願の前記タスクマイグレーション装置400の実施例の構成構造概略図である。図4に示すように、タスク取得ユニット401およびタスク処理ユニット402を含む。
タスク取得ユニット401は、ユーザが提出したタスクを取得するために用いられる。
タスク処理ユニット402は、取得されたタスクがHadoopタスクであり、タスク変換が必要であると決定された場合、タスク中のHadoopパラメータをSparkで認識可能なパラメータに変換し、変換結果を予め設定されたツールキットに注入し、Sparkクラスターに提出するために用いられる。
好ましい実現方式として、タスク処理ユニット402はサーバに要求することによってユーザが予め作成した配置を取得し、前記配置に基づいてタスク変換が必要であるか否かを決定することができる。例えば、サーバに要求してSpark方式で実行するかどうかのフラグビットを取得することができ、当該タスクが管理プラットフォームでSpark方式で実行するようにユーザによって選択されることを当該フラグビットが表示した場合、タスク変換が必要であると決定され、それ以外の場合、タスク変換が不要であると決定される。
したがって、タスク変換が必要であると決定された場合、タスク処理ユニット402は、Hadoopタスク中のHadoopパラメータをSparkで認識可能なパラメータに変換することができる。
その後、タスク処理ユニット402は、変換結果を予め設定されたツールキットに注入し、Sparkクラスターに提出することができる。好ましい実現方式として、前記ツールキットはmrtools.jarツールキットであってもよい。mrtools.jarツールキットをSpark appとして、SparkタスクをSparkクラスターに提出することができる。Sparkクラスターに提出するSparkタスクは予め設定された処理を経た後に、Hadoopロジックと等価なmapとreduce処理を実現する。
具体的には、Sparkクラスターに到着するツールキットは、Sparkコンテキストを初期化することを担当することができ、先後にmap段階のHadoopStreaming演算子、shuffle段階のrepartitionAndSortWithinPartitions演算子和reduce段階のHadoopStreaming演算子などを経て、Hadoopロジックと等価なmapとreduce処理を実現する。
ユーザが提出したタスクは、Hadoopタスク以外に、HadoopタスクからSparkタスクに変換するHadoop2SparkタスクおよびSparkタスクなどであってもよい。
ユーザが提出したタスクがHadoop2Sparkタスクである場合、タスク処理ユニット402はタスク中のHadoopパラメータをSparkで認識可能なパラメータに変換し、変換結果を予め設定されたツールキットに注入し、Sparkクラスターに提出することができる。
ユーザが提出したタスクがHadoopタスクであり、タスク変換が不要であると決定された場合、タスク処理ユニット402は、タスクをHadoopクラスターに提出することができる。ユーザが提出したタスクがSparkタスクである場合、タスク処理ユニット402はタスクをSparkクラスターに提出することができる。
図4に示す装置の実施例の具体的な作業プロセスは前述方法の実施例の関連説明を参照し、ここでは省略する。
つまり、本出願装置の実施例の前記解決策を採用し、ユーザが提出したHadoopタスクをSparkタスクに直接に変換することができるため、ユーザがゼロコストのタスクマイグレーションを実現することができ、さらに、ユーザの作業量を低減し、処理効率を向上させることができ、また、ユーザが自分のニーズに基づいてタスク変換を行うか否かを柔軟に配置することができ、ユーザの異なるシナリオのニーズなどを満たすことができ、また、計算力がより強く、性能がより良いSparkモデルを使用してmapとreduce処理を完成することができ、ユーザのオフライン計算ニーズなどをより良く満たすことができ、また、タスク変換が不要であるHadoopタスクおよびSparkタスクなどの既存の他のタスクの処理に影響を与えず、良好な互換性などを有する。
本出願の実施例によれば、本出願は電子機器および読み取り可能な記憶媒体をさらに提供する。
図5に示すように、それは本出願の実施例の前記方法に係る電子機器のブロック図である。電子機器は、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、大型コンピュータ、及び他の適切なコンピュータなどの様々な形式のデジタルコンピュータを表すことを目的とする。電子機器は、パーソナルデジタル処理、携帯電話、スマートフォン、ウェアラブルデバイス、他の同様のコンピューティングデバイスなどの様々な形式のモバイルデバイスを表すこともできる。本明細書で示されるコンポーネント、それらの接続と関係、及びそれらの機能は単なる例であり、本明細書の説明及び/又は要求される本出願の実現を制限することを意図したものではない。
図5に示すように、当該電子機器は、一つ又は複数のプロセッサY01と、メモリY02と、高速インターフェースと低速インターフェースを含む各コンポーネントを接続するためのインターフェースと、を含む。各コンポーネントは、異なるバスで相互に接続され、共通のマザーボードに取り付けられるか、又は必要に基づいて他の方式で取り付けることができる。プロセッサは、外部入力/出力装置(インターフェースに結合されたディスプレイデバイスなど)にGUIの図形情報をディスプレイするためにメモリに記憶されている命令を含む、電子機器内に実行される命令を処理することができる。他の実施方式では、必要であれば、複数のプロセッサ及び/又は複数のバスを、複数のメモリと複数のメモリとともに使用することができる。同様に、複数の電子機器を接続することができ、各電子機器は、部分的な必要な操作(例えば、サーバアレイ、ブレードサーバ、又はマルチプロセッサシステムとする)を提供することができる。図5では、一つのプロセッサY01を例とする。
メモリY02は、本出願により提供される非一時的なコンピュータ読み取り可能な記憶媒体である。その中、前記メモリには、少なくとも一つのプロセッサによって実行される命令を記憶して、前記少なくとも一つのプロセッサが本出願により提供される前記方法を実行することができるようにする。本出願の非一時的なコンピュータ読み取り可能な記憶媒体は、コンピュータが本出願により提供される前記方法を実行するためのコンピュータ命令を記憶する。
メモリY02は、非一時的なコンピュータ読み取り可能な記憶媒体として、本出願の実施例における前記方法に対応するプログラム命令/モジュールように、非一時的なソフトウェアプログラム、非一時的なコンピュータ実行可能なプログラム及びモジュールを記憶するために用いられる。プロセッサY01は、メモリY02に記憶されている非一時的なソフトウェアプログラム、命令及びモジュールを実行することによって、サーバの様々な機能アプリケーション及びデータ処理を実行し、すなわち上記の方法の実施例における前記方法を実現する。
メモリY02は、ストレージプログラム領域とストレージデータ領域とを含むことができ、その中、ストレージプログラム領域は、オペレーティングシステム、少なくとも一つの機能に必要なアプリケーションプログラムを記憶することができ、ストレージデータ領域は、電子機器の使用によって作成されたデータなどを記憶することができる。また、メモリY02は、高速ランダム存取メモリを含むことができ、非一時的なメモリをさらに含むことができ、例えば、少なくとも一つのディスクストレージデバイス、フラッシュメモリデバイス、又は他の非一時的なソリッドステートストレージデバイスである。いくつかの実施例では、メモリY02は、プロセッサY01に対して遠隔に設置されたメモリを含むことができ、これらの遠隔メモリは、ネットワークを介して電子機器に接続されることができる。上記のネットワークの例は、インターネット、イントラネット、ローカルエリアネットワーク、モバイル通信ネットワーク、及びその組み合わせを含むが、これらに限定しない。
電子機器は、入力装置Y03と出力装置Y04とをさらに含むことができる。プロセッサY01、メモリY02、入力装置Y03、及び出力装置Y04は、バス又は他の方式を介して接続することができ、図5では、バスを介して接続することを例とする。
入力装置Y03は、入力された数字又は文字情報を受信することができ、及び前記方法を実現する電子機器のユーザ設置及び機能制御に関するキー信号入力を生成することができ、例えば、タッチスクリーン、キーパッド、マウス、トラックパッド、タッチパッド、指示杆、一つ又は複数のマウスボタン、トラックボール、ジョイスティックなどの入力装置である。出力装置Y04は、ディスプレイデバイス、補助照明デバイス、及び触覚フィードバックデバイス(例えば、振動モータ)などを含むことができる。当該ディスプレイデバイスは、液晶ディスプレイ、発光ダイオードディスプレイ、及びプラズマディスプレイを含むことができるが、これらに限定しない。いくつかの実施方式では、ディスプレイデバイスは、タッチスクリーンであってもよい。
本明細書で説明されるシステムと技術の様々な実施方式は、デジタル電子回路システム、集積回路システム、特定用途向け集積回路、コンピュータハードウェア、ファームウェア、ソフトウェア、及び/又はそれらの組み合わせで実現することができる。これらの様々な実施方式は、一つ又は複数のコンピュータプログラムで実施されることを含むことができ、当該一つ又は複数のコンピュータプログラムは、少なくとも一つのプログラマブルプロセッサを含むプログラム可能なシステムで実行及び/又は解釈されることができ、当該プログラマブルプロセッサは、特定用途向け又は汎用プログラマブルプロセッサであってもよく、ストレージシステム、少なくとも一つの入力装置、及び少なくとも一つの出力装置からデータ及び命令を受信し、データ及び命令を当該ストレージシステム、当該少なくとも一つの入力装置、及び当該少なくとも一つの出力装置に伝送することができる。
これらのコンピューティングプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、又はコードとも呼ばれる)は、プログラマブルプロセッサの機械命令、高レベルのプロセス及び/又はオブジェクト指向プログラミング言語、及び/又はアセンブリ/機械言語でこれらのコンピューティングプログラムを実施することを含む。本明細書に使用されるように、用語「機械読み取り可能な媒体」及び「コンピュータ読み取り可能な媒体」は、機械命令及び/又はデータをプログラマブルプロセッサに提供するために使用される任意のコンピュータプログラム製品、機器、及び/又は装置(例えば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイ)を指し、機械読み取り可能な信号である機械命令を受信する機械読み取り可能な媒体を含む。用語「機械読み取り可能な信号」は、機械命令及び/又はデータをプログラマブルプロセッサに提供するための任意の信号を指す。
ユーザとのインタラクションを提供するために、コンピュータ上でここで説明されているシステム及び技術を実施することができ、当該コンピュータは、ユーザに情報を表示するためのディスプレイ装置(例えば、陰極線管又は液晶ディスプレイモニタ)と、キーボード及びポインティングデバイス(例えば、マウス又はトラックボール)とを有し、ユーザは、当該キーボード及び当該ポインティングデバイスによって入力をコンピュータに提供することができる。他の種類の装置は、ユーザとのインタラクションを提供するために用いられることもでき、例えば、ユーザに提供されるフィードバックは、任意の形式のセンシングフィードバック(例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバック)であってもよく、任意の形式(音響入力と、音声入力と、触覚入力とを含む)でユーザからの入力を受信することができる。
ここで説明されるシステム及び技術は、バックエンドコンポーネントを含むコンピューティングシステム(例えば、データサーバとする)、又はミドルウェアコンポーネントを含むコンピューティングシステム(例えば、アプリケーションサーバー)、又はフロントエンドコンポーネントを含むコンピューティングシステム(例えば、グラフィカルユーザインタフェース又はウェブブラウザを有するユーザコンピュータ、ユーザは、当該グラフィカルユーザインタフェース又は当該ウェブブラウザによってここで説明されるシステム及び技術の実施方式とインタラクションする)、又はこのようなバックエンドコンポーネントと、ミドルウェアコンポーネントと、フロントエンドコンポーネントの任意の組み合わせを含むコンピューティングシステムで実施することができる。任意の形式又は媒体のデジタルデータ通信(例えば、通信ネットワーク)によってシステムのコンポーネントを相互に接続されることができる。通信ネットワークの例は、ローカルエリアネットワーク(LAN)と、ワイドエリアネットワーク(WAN)と、ブロックチェーンネットワークと、インターネットとを含む。
コンピュータシステムは、クライアントとサーバとを含むことができる。クライアントとサーバは、一般に、互いに離れており、通常に通信ネットワークを介してインタラクションする。対応するコンピュータ上で実行され、互いにクライアント-サーバ関係を有するコンピュータプログラムによってクライアントとサーバとの関係が生成される。
上記に示される様々な形式のプロセスを使用して、ステップを並べ替え、追加、又は削除することができることを理解されたい。例えば、本出願に記載されている各ステップは、並列に実行されてもよいし、順次的に実行されてもよいし、異なる順序で実行されてもよいが、本出願で開示されている技術案が所望の結果を実現することができれば、本明細書では限定されない。
上記の具体的な実施方式は、本出願に対する保護範囲の制限を構成するものではない。当業者は、設計要求と他の要因に基づいて、様々な修正、組み合わせ、サブコンビネーション、及び代替を行うことができる。任意の本出願の精神と原則内で行われる修正、同等の置換、及び改善などは、いずれも本出願の保護範囲内に含まれなければならない。

Claims (12)

  1. タスクマイグレーション方法であって、
    ユーザが提出したタスクを取得するステップと、
    前記タスクがHadoopタスクであり、タスク変換が必要であると決定された場合、前記タスク中のHadoopパラメータをSparkで認識可能なパラメータに変換するステップと、
    変換結果を予め設定されたツールキットに注入し、Sparkクラスターに提出するステップと、を含む、
    タスクマイグレーション方法。
  2. 前記タスク変換が必要であると決定されるステップは、
    サーバに要求することによって前記ユーザが予め作成した配置を取得するステップと、
    前記配置に基づいてタスク変換が必要であるか否かを決定するステップと、を含む、
    請求項1に記載のタスクマイグレーション方法。
  3. 当該方法は、
    前記タスクがHadoopタスクからSparkタスクへの変換を指示するHadoop2Sparkタスクである場合、前記タスク中のHadoopパラメータをSparkで認識可能なパラメータに変換するステップと、
    変換結果を予め設定されたツールキットに注入し、前記Sparkクラスターに提出するステップと、をさらに含む、
    請求項1に記載のタスクマイグレーション方法。
  4. 当該方法は、
    前記タスクがHadoopタスクであり、タスク変換が不要であると決定された場合、前記タスクをHadoopクラスターに提出するステップと、
    前記タスクがSparkタスクである場合、前記タスクを前記Sparkクラスターに提出するステップと、をさらに含む、
    請求項1に記載のタスクマイグレーション方法。
  5. 前記変換結果を予め設定されたツールキットに注入し、Sparkクラスターに提出するステップは、
    変換結果を予め設定されたツールキットに注入し、SparkタスクをSparkクラスターに提出するステップを含み、
    前記Sparkタスクは予め設定された処理を経た後に、Hadoopロジックと等価なマッピング(map)とリデュース(reduce)処理を実現する、
    請求項1に記載のタスクマイグレーション方法。
  6. タスクマイグレーション装置であって、
    タスク取得ユニットおよびタスク処理ユニットを含み、
    前記タスク取得ユニットは、ユーザが提出したタスクを取得するために用いられ、
    前記タスク処理ユニットは、前記タスクがHadoopタスクであり、タスク変換が必要であると決定された場合、前記タスク中のHadoopパラメータをSparkで認識可能なパラメータに変換し、変換結果を予め設定されたツールキットに注入し、Sparkクラスターに提出するために用いられる、
    タスクマイグレーション装置。
  7. 前記タスク処理ユニットは、サーバに要求することによって前記ユーザが予め作成した配置を取得し、前記配置に基づいてタスク変換が必要であるか否かを決定するために用いられる、
    請求項6に記載のタスクマイグレーション装置。
  8. 前記タスク処理ユニットは、さらに、前記タスクがHadoopタスクからSparkタスクへの変換を指示するHadoop2Sparkタスクである場合、前記タスク中のHadoopパラメータをSparkで認識可能なパラメータに変換し、変換結果を予め設定されたツールキットに注入し、前記Sparkクラスターに提出するために用いられる、
    請求項6に記載のタスクマイグレーション装置。
  9. 前記タスク処理ユニットは、さらに、前記タスクがHadoopタスクであり、タスク変換が不要であると決定された場合、前記タスクをHadoopクラスターに提出し、前記タスクがSparkタスクである場合、前記タスクを前記Sparkクラスターに提出するために用いられる、
    請求項6に記載のタスクマイグレーション装置。
  10. 前記タスク処理ユニットは、さらに、変換結果を予め設定されたツールキットに注入し、SparkタスクをSparkクラスターに提出し、前記Sparkタスクは予め設定された処理を経た後に、Hadoopロジックと等価なマッピング(map)とリデュース(reduce)処理を実現するために用いられる、
    請求項6に記載のタスクマイグレーション装置。
  11. 電子機器であって、
    少なくとも一つのプロセッサと、
    前記少なくとも一つのプロセッサに通信接続されたメモリと、を含み、
    前記メモリに前記少なくとも一つのプロセッサにより実行可能な命令が記憶されており、前記命令が前記少なくとも一つのプロセッサにより実行されると、前記少なくとも一つのプロセッサが請求項1~5のいずれかの一つに記載の方法を実行する、
    電子機器。
  12. コンピュータ命令が記憶されている非一時的なコンピュータ読み取り可能な記憶媒体であって、
    前記コンピュータ命令は、前記コンピュータに請求項1~5のいずれかの一つに記載の方法を実行させる、
    コンピュータ命令が記憶されている非一時的なコンピュータ読み取り可能な記憶媒体。
JP2021568198A 2020-03-05 2020-09-02 タスクマイグレーション方法、装置、電子機器および記憶媒体 Pending JP2022532739A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN202010147172.7A CN111506399B (zh) 2020-03-05 2020-03-05 任务迁移方法、装置、电子设备及存储介质
CN202010147172.7 2020-03-05
PCT/CN2020/113091 WO2021174791A1 (zh) 2020-03-05 2020-09-02 任务迁移方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
JP2022532739A true JP2022532739A (ja) 2022-07-19

Family

ID=71877640

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021568198A Pending JP2022532739A (ja) 2020-03-05 2020-09-02 タスクマイグレーション方法、装置、電子機器および記憶媒体

Country Status (6)

Country Link
US (1) US11822957B2 (ja)
EP (1) EP3905040A4 (ja)
JP (1) JP2022532739A (ja)
KR (1) KR20210141703A (ja)
CN (1) CN111506399B (ja)
WO (1) WO2021174791A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111506399B (zh) * 2020-03-05 2024-03-22 百度在线网络技术(北京)有限公司 任务迁移方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160098472A1 (en) * 2014-10-01 2016-04-07 Red Hat, Inc. Map-reduce job virtualization
CN106648674A (zh) * 2016-12-28 2017-05-10 北京奇艺世纪科技有限公司 一种大数据计算管理方法及系统
JP2019530121A (ja) * 2016-09-15 2019-10-17 タレンド、インコーポレイテッド データ統合ジョブ変換

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11221890B2 (en) * 2016-06-22 2022-01-11 Verizon Media Inc. Systems and methods for dynamic partitioning in distributed environments
CN106294745A (zh) * 2016-08-10 2017-01-04 东方网力科技股份有限公司 大数据清洗方法及装置
CN106991166A (zh) * 2017-03-31 2017-07-28 北京奇艺世纪科技有限公司 一种大数据处理方法及装置
CN107526546B (zh) * 2017-08-25 2020-09-11 深圳大学 一种Spark分布式计算数据处理方法及系统
US11244244B1 (en) * 2018-10-29 2022-02-08 Groupon, Inc. Machine learning systems architectures for ranking
US11449461B2 (en) * 2019-12-17 2022-09-20 Visa International Service Association Metadata-driven distributed dynamic reader and writer
CN111506399B (zh) * 2020-03-05 2024-03-22 百度在线网络技术(北京)有限公司 任务迁移方法、装置、电子设备及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160098472A1 (en) * 2014-10-01 2016-04-07 Red Hat, Inc. Map-reduce job virtualization
JP2019530121A (ja) * 2016-09-15 2019-10-17 タレンド、インコーポレイテッド データ統合ジョブ変換
CN106648674A (zh) * 2016-12-28 2017-05-10 北京奇艺世纪科技有限公司 一种大数据计算管理方法及系统

Also Published As

Publication number Publication date
WO2021174791A1 (zh) 2021-09-10
CN111506399B (zh) 2024-03-22
EP3905040A4 (en) 2022-03-09
EP3905040A1 (en) 2021-11-03
KR20210141703A (ko) 2021-11-23
CN111506399A (zh) 2020-08-07
US11822957B2 (en) 2023-11-21
US20220398127A1 (en) 2022-12-15

Similar Documents

Publication Publication Date Title
US11445008B2 (en) Data processing methods, electronic devices, and storage media
WO2022000802A1 (zh) 深度学习模型的适配方法、装置及电子设备
JP2021106018A (ja) データ処理方法、装置、機器及び記憶媒体
KR20220001008A (ko) 분산 훈련 방법, 시스템, 기기, 저장 매체 및 프로그램
KR102563165B1 (ko) 메모리 액세스 요청 스케줄링 방법, 장치, 기기 및 저장 매체
JP2021120862A (ja) ドキュメント解析方法、装置、機器及び記憶媒体
JP2022003507A (ja) ストレステスト方法及び装置、電子機器、コンピュータ可読記憶媒体並びにコンピュータプログラム
CN112506854B (zh) 页面模板文件的存储和页面生成方法、装置、设备及介质
CN111061743A (zh) 数据加工方法、装置和电子设备
JP2022532739A (ja) タスクマイグレーション方法、装置、電子機器および記憶媒体
US20230004363A1 (en) Stream computing job processing method, stream computing system and electronic device
JP2021103544A (ja) コード再利用処理方法、装置、電子機器、記憶媒体及びコンピュータプログラム製品
JP2021168125A (ja) スマート応答方法及び装置、電子機器、記憶媒体並びにコンピュータプログラム
KR20210040322A (ko) 스케줄링 방법, 장치, 기기, 기록 매체 및 컴퓨터 프로그램
EP3885955A2 (en) Method and apparatus for identifying user, storage medium, and electronic device
CN112270412B (zh) 网络算子处理方法、装置、电子设备及存储介质
US11941055B2 (en) Method and apparatus for graph computing, electronic device and storage medium
US20220309395A1 (en) Method and apparatus for adapting deep learning model, and electronic device
CN113568761B (zh) 数据处理方法、装置、设备及存储介质
CN111813407A (zh) 游戏开发方法、游戏运行方法、装置和电子设备
JP7461318B2 (ja) データマイニングシステム、方法、装置、電子機器及び記憶媒体
CN112183041A (zh) 一种基于指标的报表调整方法、装置、设备和存储介质
CN116302414A (zh) 任务的调度方法、装置、电子设备和存储介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211112

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211112

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221107

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221115

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230214

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20230501