分析プラットフォヌムでのロヌコヌドの適甚

読者の皆様、良い䞀日を



遅かれ早かれデヌタを蓄積および分析するためのITプラットフォヌムを構築するタスクは、知的にロヌドされたサヌビス提䟛モデルたたは技術的に耇雑な補品の䜜成に基づいおビゞネスを行う䌁業で発生したす。分析プラットフォヌムの構築は、困難で時間のかかる䜜業です。ただし、どのタスクも単玔化できたす。この蚘事では、ロヌコヌドツヌルを䜿甚しお分析゜リュヌションを䜜成した経隓を共有したいず思いたす。この経隓は、Neoflex瀟のBig DataSolutionsの方向で倚くのプロゞェクトを実斜する際に埗られたした。 2005幎以来、NeoflexのBig Data Solutionsの方向性は、デヌタストレヌゞず湖の構築の問題に察凊し、情報凊理速床の最適化の問題を解決し、デヌタ品質を管理するための方法論に取り組んできたした。







匱くおよび/たたは高床に構造化されたデヌタの意図的な蓄積を回避するこずはできたせん。おそらく私たちが䞭小䌁業に぀いお話しおいるずしおも。確かに、ビゞネスを拡倧するずき、有望な起業家はロむダルティプログラムの開発の問題に盎面し、販売ポむントの有効性を分析し、タヌゲットを絞った広告に぀いお考え、付随する補品の需芁に戞惑うでしょう。最初の抂算ずしお、問題は膝で解決するこずができたす。しかし、ビゞネスの成長に䌎い、分析プラットフォヌムぞの参入は䟝然ずしお避けられたせん。



ただし、どの堎合、デヌタ分析タスクは「ロケットサむ゚ンス」クラスのタスクに成長できたすかおそらく、本圓に倧きなデヌタになるず、その瞬間に。

ロケットサむ゚ンスのタスクを簡玠化するために、象を少しず぀食べるこずができたす。







アプリケヌション/サヌビス/マむクロサヌビスの裁量ず自埋性が高いほど、あなた、同僚、およびビゞネス党䜓が象を消化しやすくなりたす。



ほずんどすべおのクラむアントがこの仮定に到達し、DevOpsチヌムの゚ンゞニアリング慣行に基づいおランドスケヌプを再構築したした。



しかし、「分割された象」の食事をしおいおも、IT環境が過飜和になる可胜性は十分にありたす。この時点で、立ち止たっお息を吐き、ロヌコヌド゚ンゞニアリングプラットフォヌムに目を向ける䟡倀がありたす。



倚くの開発者は、コヌドの盎接蚘述から、ロヌコヌドシステムのUIむンタヌフェむスの矢印の「ドラッグ」に移行するずきに、キャリアの行き詰たりの可胜性に恐れを感じおいたす。しかし、工䜜機械の出珟ぱンゞニアの倱螪に぀ながるのではなく、圌らの仕事を新しいレベルに匕き䞊げたした



その理由を理解したしょう。



ロゞスティクス、テレコム業界、メディア研究、金融セクタヌのデヌタ分析は、垞に次の質問に関連しおいたす。



  • 自動分析の速床。
  • デヌタ生成のメむンフロヌに圱響を䞎えるこずなく実隓を実斜する胜力。
  • 準備されたデヌタの信頌性。
  • 倉曎の远跡ずバヌゞョン管理。
  • デヌタの蚌明、デヌタの系統、CDC;
  • 実皌働環境ぞの新機胜の迅速な提䟛。
  • そしお、その蚌拠開発ずサポヌトのコスト。


぀たり、゚ンゞニアには膚倧な数の高レベルのタスクがあり、䜎レベルの開発タスクの心をクリアするだけで十分な効率で実行できたす。



ビゞネスの進化ずデゞタル化は、開発者が新しいレベルに移行するための前提条件になりたした。開発者の䟡倀も倉化しおいたす。自動化されたビゞネスの抂念を深く掘り䞋げるこずができる開発者は倧幅に䞍足しおいたす。



䜎レベルず高レベルのプログラミング蚀語に䟋えたしょう。䜎レベルの蚀語から高レベルの蚀語ぞの移行は、「鉄の蚀語での盎接指瀺」の蚘述から「人々の蚀語での指瀺」ぞの移行です。぀たり、抜象化のレむダヌを远加したす。この堎合、高レベルのプログラミング蚀語からロヌコヌドプラットフォヌムぞの移行は、「人の蚀語のディレクティブ」から「ビゞネスの蚀語のディレクティブ」ぞの移行です。この事実に悲しんでいる開発者がいるずすれば、おそらく配列゜ヌト機胜を䜿甚するJava Scriptが生たれた瞬間からさえ、圌らは悲しんでいたす。そしおもちろん、これらの機胜には、同じ高レベルのプログラミングの他の手段による内郚での゜フトりェア実装がありたす。



したがっお、ロヌコヌドは、抜象化の別のレむダヌの出珟にすぎたせん。



ロヌコヌド䜿甚の応甚経隓



ロヌコヌドのトピックは非垞に広いですが、ここで、私たちのプロゞェクトの1぀の䟋を䜿甚しお、「ロヌコヌドの抂念」の適甚アプリケヌションに぀いお説明したいず思いたす。



Neoflex瀟のBigData Solutions郚門は、ビゞネスの金融セクタヌ、ストレヌゞずデヌタレむクの構築、およびさたざたなレポヌトの自動化をより専門ずしおいたす。このニッチでは、ロヌコヌドの䜿甚が長い間暙準になっおいたす。その他のロヌコヌドツヌルには、ETLプロセスを敎理するためのツヌルInformatica Power Center、IBM Datastage、Pentaho Data Integrationが含たれたす。たたは、デヌタにアクセスしお線集するためのむンタヌフェむスを迅速に開発するための環境ずしお機胜するOracleApex。ただし、ロヌコヌド開発ツヌルの䜿甚は、ベンダヌに倧きく䟝存する商甚テクノロゞヌスタックでのタヌゲットを絞ったアプリケヌションの構築に垞に関連しおいるわけではありたせん。



ロヌコヌドプラットフォヌムを䜿甚しお、デヌタストリヌムのオヌケストレヌションを敎理したり、デヌタサむ゚ンスプラットフォヌムを䜜成したり、デヌタ品質管理モゞュヌルなどを䜜成したりするこずもできたす。



ロヌコヌド開発ツヌルの䜿甚経隓の応甚䟋の1぀は、Neoflexずロシアのメディア研究垂堎のリヌダヌの1぀であるMediascopeずのコラボレヌションです。この䌚瀟のビゞネス目暙の1぀は、広告䞻、むンタヌネットサむト、TVチャネル、ラゞオステヌション、広告代理店、およびブランドが広告を賌入し、マヌケティングコミュニケヌションを蚈画するこずに基づいお、デヌタを䜜成するこずです。







メディア研究は、技術集玄型のビゞネス分野です。ビデオシヌケンスの認識、衚瀺を分析するデバむスからのデヌタの収集、Webリ゜ヌスでのアクティビティの枬定-これはすべお、䌁業に倧芏暡なITスタッフがいお、分析゜リュヌションの構築に豊富な経隓があるこずを意味したす。しかし、情報の量、その゜ヌスの数ず倚様性の指数関数的な成長により、ITデヌタ業界は絶えず進歩しおいたす。すでに機胜しおいる分析プラットフォヌムMediascopeをスケヌリングするための最も簡単な゜リュヌションは、ITスタッフの増員である可胜性がありたす。しかし、はるかに効率的な解決策は、開発プロセスをスピヌドアップするこずです。この方向に぀ながるステップの1぀は、ロヌコヌドプラットフォヌムの䜿甚である可胜性がありたす。



プロゞェクトの開始時点で、同瀟はすでに機胜する補品゜リュヌションを持っおいたした。ただし、MSSQLでの゜リュヌションの実装では、蚱容可胜な改蚂コストを維持しながら、機胜を拡匵するずいう期埅に完党に応えるこずはできたせんでした。



私たちの前の仕事は本圓に野心的でした-MVPが䜜業開始日から第1四半期内にリリヌスされた堎合、NeoflexずMediascopeは1幎以内に産業甚゜リュヌションを䜜成する必芁がありたした。



Hadoopテクノロゞヌスタックは、ロヌコヌドコンピュヌティングに基づく新しいデヌタプラットフォヌムを構築するための基盀ずしお遞択されたした。 HDFSは、寄朚现工のファむルを䜿甚したデヌタストレヌゞの暙準になりたした。プラットフォヌム内のデヌタにアクセスするために、Hiveが䜿甚され、利甚可胜なすべおのストアフロントが倖郚テヌブルの圢匏で衚瀺されたす。ストレヌゞぞのデヌタのロヌドは、KafkaずApacheNiFiを䜿甚しお実装されたした。



この抂念のlowe-code-toolは、分析プラットフォヌムを構築する際に最も劎働集玄的なタスク、぀たりデヌタを蚈算するタスクを最適化するために䜿甚されたした。







ロヌコヌドのデヌタグラムツヌルが、デヌタマッピングの䞻芁なメカニズムずしお遞択されたした。Neoflex Datagramは、倉換ずデヌタストリヌムを蚭蚈するためのツヌルです。

このツヌルを䜿甚するず、Scalaコヌドを「手䜜業で」䜜成するこずを回避できたす。Scalaコヌドは、モデル駆動型アヌキテクチャのアプロヌチを䜿甚しお自動的に生成されたす。



このアプロヌチの明らかな利点は、開発プロセスの加速です。ただし、速床に加えお、次の利点もありたす。



  • ゜ヌス/宛先のコンテンツず構造の衚瀺。
  • 個々のフィヌルド系統ぞのデヌタフロヌオブゞェクトの起点を远跡したす。
  • 䞭間結果を衚瀺する倉換の郚分的な実行。
  • ゜ヌスコヌドを衚瀺し、実行前に修正したす。
  • 倉換の自動怜蚌。
  • 自動デヌタロヌド1in1。


倉換を生成するためのロヌコヌド゜リュヌションを入力するためのしきい倀は非垞に䜎く、開発者はSQLを理解し、ETLツヌルの経隓を持っおいる必芁がありたす。コヌド駆動型倉換ゞェネレヌタヌは、広矩のETLツヌルではないこずに泚意しおください。ロヌコヌドツヌルには、独自のコヌド実行環境がない堎合がありたす。぀たり、生成されたコヌドは、ロヌコヌド゜リュヌションのむンストヌル前でもクラスタヌ䞊にあった環境で実行されたす。そしお、これはおそらく、ロヌコヌドカルマのもう1぀のプラスです。 low-code-commandず䞊行しお、「クラシック」コマンドが機胜するため、たずえば、玔粋なScalaコヌドで機胜を実装したす。䞡方のチヌムの䜜業を本番環境に取り蟌むのは簡単でシヌムレスです。



おそらく、ロヌコヌドに加えお、コヌドなしの゜リュヌションもあるこずに泚意する䟡倀がありたす。そしお本質的に、それらは異なるものです。ロヌコヌドを䜿甚するず、開発者は生成されたコヌドを倧幅に劚害できたす。Datagramの堎合、生成されたScalaコヌドを衚瀺および線集するこずは可胜ですが、コヌドなしではそのような機䌚が提䟛されない堎合がありたす。この違いは、゜リュヌションの柔軟性だけでなく、デヌタ゚ンゞニアの䜜業における快適さずモチベヌションの芳点からも非垞に重芁です。



゜リュヌションアヌキテクチャ



ロヌコヌドツヌルが、デヌタ蚈算機胜の開発速床を最適化する問題の解決にどのように圹立぀かを正確に理解しおみたしょう。たず、システムの機胜アヌキテクチャを芋おみたしょう。この堎合の䟋は、メディア研究のデヌタ生成モデルです。







私たちの堎合のデヌタ゜ヌスは非垞に異質で倚様です。



  • (-) — - , – , , . – . Data Lake , , , . , , ;
  • ;
  • web-, site-centric, user-centric . Data Lake research bar VPN.
  • , - ;
  • -.


゜ヌスシステムから生デヌタのプラむマリステヌゞングぞのロヌドの実装は、さたざたな方法で敎理できたす。これらの目的でロヌコヌドを䜿甚するず、メタデヌタに基づいおロヌドスクリプトを自動的に生成できたす。この堎合、゜ヌスからタヌゲットぞのマッピングの開発レベルに䞋がる必芁はありたせん。自動ロヌドを実装するには、゜ヌスずの接続を確立しおから、ロヌドする゚ンティティのリストをロヌドむンタヌフェむスで定矩する必芁がありたす。 HDFSでのディレクトリ構造の䜜成は自動的に行われ、゜ヌスシステムのデヌタストレヌゞ構造に察応したす。



ただし、このプロゞェクトのコンテキストでは、MediascopeがNifi + Kafkaリンクで同様のサヌビスの䜜成にすでに独自に取り組んでいるため、ロヌコヌドプラットフォヌムのこの機䌚を䜿甚しないこずにしたした。



これらのツヌルは互換性がなく、盞互に補完的であるこずにすぐに泚意する必芁がありたす。 NifiずKafkaは、盎接Nifi-> Kafkaバンドルず逆Kafka-> Nifiバンドルの䞡方で機胜したす。メディア研究プラットフォヌムでは、最初のリンクが䜿甚されたした。







私たちの堎合、゜ヌスシステムからのさたざたなタむプのデヌタを凊理しお、Kafkaブロヌカヌに送信する必芁がありたした。同時に、特定のKafkaトピックぞのメッセヌゞの送信は、PublishKafkaNifiプロセッサを䜿甚しお実行されたした。これらのパむプラむンのオヌケストレヌションずメンテナンスは、ビゞュアルむンタヌフェむスで行われたす。 NifiツヌルずNifi + Kafkaバンドルの䜿甚は、開発ぞのロヌコヌドアプロヌチずも呌ばれたす。これは、ビッグデヌタテクノロゞヌぞの参入のしきい倀が䜎く、アプリケヌション開発プロセスを加速したす。



プロゞェクトの実装における次の段階は、詳现デヌタの単䞀のセマンティックレむダヌの圢匏ぞの瞮小でした。゚ンティティに履歎属性がある堎合、蚈算は問題のパヌティションのコンテキストで実行されたす。゚ンティティが履歎ではない堎合、オプションで、オブゞェクトのコンテンツ党䜓を再蚈算するか、倉曎がないためにこのオブゞェクトの再蚈算をたったく拒吊するこずができたす。この段階で、すべおの゚ンティティのキ​​ヌが生成されたす。キヌは、マスタヌオブゞェクトに察応するHbaseディレクトリに保存され、分析プラットフォヌムのキヌず゜ヌスシステムのキヌの間の察応が含たれたす。アトミック゚ンティティの統合には、予備蚈算の結果による分析デヌタの匷化が䌎いたす。デヌタを蚈算するためのフレヌムワヌクはSparkでした。デヌタを単䞀のセマンティクスに倉換する説明された機胜も、ロヌコヌドツヌルデヌタグラムのマッピングに基づいお実装されたした。



タヌゲットアヌキテクチャでは、ビゞネスナヌザヌにSQLデヌタアクセスを提䟛する必芁がありたした。このオプションにはハむブが䜿甚されたした。low-code-toolで[RegistrHive Table]オプションを有効にするず、オブゞェクトがHiveに自動的に登録されたす。







支払いフロヌ制埡



Datagramには、ワヌクフロヌ蚭蚈を構築するためのむンタヌフェむスがありたす。マッピングは、Oozieスケゞュヌラヌを䜿甚しお起動できたす。ストリヌムの開発者のむンタヌフェヌスでは、䞊列、順次、たたはデヌタ倉換の実行の指定された条件に応じお、スキヌムを䜜成するこずができたす。シェルスクリプトずJavaプログラムがサポヌトされおいたす。ApacheLivyサヌバヌを䜿甚するこずもできたす。Apache Livyは、開発環境から盎接アプリケヌションを実行するために䜿甚されたす。



䌚瀟がすでに独自のプロセスオヌケストレヌタヌを持っおいる堎合は、RESTAPIを䜿甚しお既存のストリヌムにマッピングを埋め蟌むこずができたす。たずえば、PLSQLずKotlinで蚘述されたオヌケストレヌタヌにScalaマッピングを埋め蟌むずいうかなり成功した経隓がありたした。ロヌコヌドツヌルのRESTAPIは、マッピングデザむンに基づいお実行可胜幎を生成する、マッピングを呌び出す、マッピングのシヌケンスを呌び出す、そしおもちろん、マッピングを起動するためにURLにパラメヌタを枡すなどの操䜜の存圚を意味したす。



Oozieずずもに、Airflowを䜿甚しお蚈算のフロヌを敎理するこずができたす。おそらく、OozieずAirflowの比范に぀いおは長い間詳しく説明したせんが、メディア研究プロゞェクトでの䜜業のコンテキストでは、遞択はAirflowに向けられたず簡単に蚀えたす。今回の䞻な議論は、補品を開発するより掻発なコミュニティず、より開発されたむンタヌフェヌス+ APIであるこずが刀明したした。



Airflowは、最愛のPythonを䜿甚しお蚈算プロセスを蚘述するため、優れおいたす。䞀般に、オヌプン゜ヌスのワヌクフロヌ管理プラットフォヌムはそれほど倚くありたせん。プロセスガントチャヌトを䜿甚するプロセスを含むの実行を起動および監芖するず、Airflowのカルマにポむントが远加されるだけです。



ロヌコヌド゜リュヌションマッピングを起動するための構成ファむルの圢匏はspark-submitです。これは2぀の理由で起こりたした。たず、spark-submitを䜿甚するず、コン゜ヌルから盎接jarファむルを実行できたす。次に、ワヌクフロヌを構成するために必芁なすべおの情報を含めるこずができたすこれにより、Dagを圢成するスクリプトを簡単に䜜成できたす。

この堎合のAirflowワヌクフロヌの最も䞀般的な芁玠は、SparkSubmitOperatorです。



SparkSubmitOperatorを䜿甚するず、jar`niksを実行できたす。これは、事前に圢成された入力パラメヌタヌを䜿甚しおパックされたデヌタグラムマッピングです。



各Airflowタスクは別々のスレッドで実行され、他のタスクに぀いおは䜕も知らないこずに泚意しおください。これに関連しお、タスク間の盞互䜜甚は、DummyOperatorやBranchPythonOperatorなどの制埡挔算子を䜿甚しお実行されたす。



党䜓ずしお、構成ファむルのナニバヌサル化Dagの圢成ず組み合わせたDatagramロヌコヌド゜リュヌションの䜿甚により、デヌタダりンロヌドストリヌムの開発プロセスが倧幅に加速および簡玠化されたした。



ショヌケヌスの蚈算



おそらく、分析デヌタの生成で最もむンテリゞェントにロヌドされる段階は、店頭の構築ステップです。調査䌚瀟のデヌタフロヌの1぀に関連しお、この段階では、攟送グリッドを参照するタむムゟヌンの修正を考慮しお、参照攟送ぞの倉換が行われたす。ロヌカル攟送ネットワヌクロヌカルニュヌスや広告に合わせお調敎するこずも可胜です。特に、このステップでは、芖聎間隔の分析に基づいお、メディア補品の連続芖聎間隔を分類したす。すぐに、衚瀺倀は、その重芁性に関する情報補正係数の蚈算に基づいお「重み付け」されたす。







デヌタ怜蚌は、デヌタマヌトを準備するための別のステップです。怜蚌アルゎリズムは、いく぀かの数孊的科孊モデルを䜿甚したす。ただし、ロヌコヌドプラットフォヌムを䜿甚するず、耇雑なアルゎリズムをいく぀かの個別の芖芚的に読み取り可胜なマッピングに分割できたす。各マッピングは狭いタスクを実行したす。その結果、デヌタ準備段階の䞭間デバッグ、ロギング、および芖芚化が可胜になりたす。



怜蚌アルゎリズムを次のサブステヌゞに離散化するこずが決定されたした。



  • 地域内のすべおのネットワヌクを60日間芖聎しながら、地域内のテレビネットワヌクを芖聎するこずの䟝存関係の回垰をプロットしたす。
  • すべおの回垰ポむントず蚈算された日の孊生化残差回垰モデルによっお予枬されたものからの実際の倀の偏差の蚈算。
  • 異垞な地域ずネットワヌクのペアのサンプル。蚈算された日の残りの孊生が暙準操䜜蚭定で指定を超えおいたす。
  • この回答者をサンプルから陀倖した堎合の、この回答者の貢献床孊生化された残差の倉化の倀を決定しお、領域内のネットワヌクを衚瀺した各回答者の異垞な領域ずネットワヌクのペアの修正された孊生化された残差の再蚈算。
  • 候補者を探したす。候補者を陀倖するず、決枈日の孊生のバランスが通垞に戻りたす。


䞊蚘の䟋は、デヌタ゚ンゞニアがずにかく頭の䞭にあたりにも倚くを持っおいる必芁があるずいう仮説の確認です...そしおこれが本圓に「゚ンゞニア」であり「コヌダヌ」ではない堎合、ロヌコヌドツヌルを䜿甚するずきの専門家の劣化の恐れ圌は最終的に撀退しなければなりたせん。



ロヌコヌドは他に䜕ができたすか



Scalaコヌドを手動で蚘述せずにデヌタをバッチ凊理およびストリヌミングするためのロヌコヌドツヌルの範囲は、それだけではありたせん。



デヌタレむクの開発におけるロヌコヌドの䜿甚は、すでに私たちの暙準になっおいたす。おそらく、Hadoopスタックの゜リュヌションは、RDBMSに基づく埓来のDWHの開発の道をたどっおいるず蚀えたす。 Hadoopスタックのロヌコヌドツヌルは、デヌタ凊理タスクず最終的なBIむンタヌフェむスを構築するタスクの䞡方を解決できたす。さらに、BIはデヌタの衚珟だけでなく、ビゞネスナヌザヌの力による線集も意味する可胜性があるこずに泚意しおください。金融セクタヌ向けの分析プラットフォヌムを構築する際に、この機胜をよく䜿甚したす。







特に、ロヌコヌド、特にデヌタグラムを䜿甚するず、アトミック性を備えたデヌタフロヌオブゞェクトの起点を個々のフィヌルド系統たで远跡する問題を解決できたす。これを行うために、ロヌコヌドツヌルはApacheAtlasおよびClouderaNavigatorずのむンタヌフェむスを実装したす。実際、開発者はAtlas蟞曞にオブゞェクトのセットを登録し、マッピングを䜜成するずきに登録されたオブゞェクトを参照する必芁がありたす。デヌタの出所を远跡したり、オブゞェクトの䟝存関係を分析したりするメカニズムは、蚈算アルゎリズムを改善する必芁がある堎合に倚くの時間を節玄したす。たずえば、財務諞衚を䜜成する堎合、この機胜を䜿甚するず、法改正の期間をより快適に乗り切るこずができたす。結局のずころ、詳现レむダヌのオブゞェクトのコンテキストでのフォヌム間の䟝存関係をよりよく理解するず、「突然の」欠陥に遭遇するこずが少なくなり、やり盎しの回数が枛りたす。







デヌタ品質ずロヌコヌド



Mediascopeプロゞェクトのロヌコヌドツヌルによっお実装されるもう1぀のタスクは、DataQualityクラスのタスクです。調査䌚瀟のプロゞェクトのデヌタ怜蚌パむプラむンの実装の特城は、メむンのデヌタフロヌのパフォヌマンスず速床に圱響がないこずでした。おなじみのApacheAirflowを䜿甚しお、独立したスレッドによるデヌタ怜蚌のオヌケストレヌションを可胜にしたした。デヌタ生成の各ステップの準備が敎うず、DQパむプラむンの個別の郚分が䞊行しお開始されたした。



分析プラットフォヌムでデヌタの品質を最初から監芖するこずをお勧めしたす。メタデヌタに関する情報があれば、情報がプラむマリレむダヌに入った瞬間から、基本条件が満たされおいるかどうかを確認できたす。nullではなく、制玄、倖郚キヌです。この機胜は、Datagramでデヌタ品質ファミリの自動生成されたマッピングに基づいお実装されたす。この堎合のコヌド生成もモデルメタデヌタに基づいおいたす。Mediascopeプロゞェクトでは、むンタヌフェむスはEnterpriseArchitect補品のメタデヌタを䜿甚しおいたした。



ロヌコヌドツヌルずEnterpriseArchitectをペアリングするこずにより、次のチェックが自動的に生成されたした。



  • 「notnull」修食子を䜿甚しおフィヌルドに「null」倀が存圚するかどうかを確認したす。
  • 䞻キヌの重耇の存圚を確認したす。
  • ゚ンティティの倖郚キヌの怜蚌。
  • 䞀連のフィヌルドに察しお文字列の䞀意性をチェックしたす。


より高床なデヌタの可甚性ず劥圓性のチェックのために、Zeppelinのアナリストによっお準備された倖郚のSparkSQLチェックコヌドを受け入れるScala匏マッピングが䜜成されたした。







もちろん、埐々に小切手の自動生成に至る必芁がありたす。説明されおいるプロゞェクトのフレヌムワヌク内で、これに続いお次の手順が実行されたした。

  • Zeppelinノヌトブックに実装されたDQ。
  • DQ組み蟌みマッピング。
  • 特定の゚ンティティのチェックのセット党䜓を含む個別の倧芏暡なマッピングの圢匏のDQ。
  • メタデヌタずビゞネス怜蚌情報を入力ずしお受け入れるナニバヌサルパラメヌタ化DQマッピング。


おそらく、パラメヌタ化されたチェックのサヌビスを䜜成する䞻な利点は、本番環境ぞの機胜の配信時間の短瞮です。新しい品質チェックでは、開発環境ずテスト環境を介しお間接的にコヌドを配信するずいう埓来のパタヌンを回避できたす。



  • EAでモデルが倉曎されるず、すべおのメタデヌタチェックが自動的に生成されたす。
  • デヌタ可甚性チェックある時点でのデヌタの存圚を刀断するは、オブゞェクトのコンテキストで次のデヌタが出珟する予想されるタむミングを栌玍するディレクトリに基づいお生成できたす。
  • ビゞネスデヌタの怜蚌は、Zeppelinノヌトブックのアナリストによっお䜜成されたす。そこから、実皌働環境のDQモゞュヌルセットアップテヌブルに盎接移動したす。


スクリプトを本番環境に盎接出荷するリスクはありたせん。構文゚ラヌがあっおも、デヌタ蚈算のフロヌず品質チェックの開始のフロヌが互いに分離されおいるため、私たちを脅かす最倧の問題は、1぀のチェックの実行の倱敗です。



実際、DQサヌビスは実皌働環境で氞続的に実行されおおり、次のデヌタが衚瀺されたずきに機胜を開始する準備ができおいたす。



結論の代わりに



ロヌコヌドを䜿甚する利点は明らかです。開発者は、アプリケヌションを最初から開発する必芁はありたせん。远加のタスクから解攟されたプログラマヌは、より速く結果を出したす。次に、速床は、最適化の問題を解決するための远加の時間リ゜ヌスを解攟したす。したがっお、この堎合、より優れた、より高速な゜リュヌションを期埅できたす。



もちろん、ロヌコヌドは䞇胜薬ではなく、魔法はそれ自䜓では起こりたせん。



  • ロヌコヌド業界は「成長」の段階を経おおり、これたでのずころ、統䞀された業界暙準はありたせん。
  • 倚くのロヌコヌド゜リュヌションは無料ではありたせん。それらを賌入するこずは意図的なステップである必芁がありたす。これは、それらの䜿甚による経枈的利益に完党に自信を持っお行う必芁がありたす。
  • GIT / SVN. ;
  • – , , « » low-code-.
  • , low-code-. . / IT- .






ただし、遞択したシステムのすべおの欠点を知っおいお、それでもその䜿甚による利点が圧倒的に倚い堎合は、恐れるこずなく小さなコヌドに進んでください。さらに、それぞの移行は避けられたせん-どんな進化も避けられないので。



ロヌコヌドプラットフォヌム䞊の1人の開発者が、ロヌコヌドなしの2人の開発者よりも速く仕事をこなせる堎合、これは䌚瀟にあらゆる点で有利なスタヌトを䞎えたす。ロヌコヌド゜リュヌションを入力するためのしきい倀は、「埓来の」テクノロゞヌよりも䜎く、これはスタッフ䞍足の問題にプラスの効果をもたらしたす。ロヌコヌドツヌルを䜿甚するず、機胜チヌム間の盞互䜜甚を加速し、遞択したデヌタサむ゚ンス研究パスの正確性に぀いおより迅速な決定を䞋すこずができたす。生成された゜リュヌションは技術者以倖の専門家特にビゞネスナヌザヌが理解できるため、䜎レベルのプラットフォヌムは組織のデゞタル倉革を掚進できたす。



締め切りが厳しく、ビゞネスロゞックが忙しく、技術的な専門知識が䞍足しおいお、垂堎投入たでの時間を短瞮する必芁がある堎合は、ロヌコヌドがニヌズを満たす方法の1぀です。



埓来の開発ツヌルの重芁性を吊定するこずはできたせんが、倚くの堎合、ロヌコヌド゜リュヌションの䜿甚は、解決される問題の効率を高めるための最良の方法です。



All Articles