問題タブ [batch-processing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1106 参照

ruby-on-rails - Railsのバッチ処理に関する質問

私のアプリでは、ユーザーは投稿のステータスを「v」-表示、「d」-削除のマークなどのさまざまなフラグに設定できます。

これらのフラグは、コントローラーアクションを介して設定されます。

削除のマークが付けられたすべての投稿を実行してクリーンアップするバッチプロセスがあります。

Post.find(:all、:conditions => ['status =?'、'd'])。each do | p | p.destroy終了

このバッチプロセスは、x分ごとに実行されます。

ユーザーが投稿に「d」のマークを付けたとします=>プロセスの実行中にバッチプロセスがいくつかのポイントで実行されます=>ユーザーが投稿に「v」のマークを付けます。これで、バッチプロセス内で、レコードはすでに削除の対象になり、doループが実行されたときになりますが、フラグはコントローラーアクションによって変更されました。

理想的には、これが発生した場合、バッチプロセスでその投稿を削除したくありません。

これを処理するための最良の方法は何ですか?

0 投票する
1 に答える
1919 参照

batch-file - ファイル名の長さを減らすバッチファイル

このようなファイル名をダウンロードします..batchengine-6099-1283555555-60054_20100910_0006.era の名前を 60054_20100910_0006.era に変更します。名前は変更されますが、形式は同じです。.era で終わるすべての大きなファイルの名前を変更するステートメントが必要です

0 投票する
2 に答える
240 参照

cmd - バッチ for ループを使用して複数のディレクトリにあるオーディオ ファイルを変換および削除する

複数の音声ファイルを処理したい。私がやりたいことは.m4a、ディレクトリ内のファイルを取得し、それぞれに対してこれを行うことです:

  • faad(.m4p ファイルをファイルに変換し.waveますが、.m4p ファイルは保持します)
  • oddenc新しい .wave ファイルで、これにより .ogg ファイルが作成されます
  • del.m4aファイルとファイル.wave
  • .m4aディレクトリ内の次へ移動

また、複数のフォルダーに対して(再帰的に)行う必要があります。

私が持っているものは機能しますが、面倒です。最初にフォルダーを通過し、どこにでもファイルを作成.waveします。.oggこれは、削除される前に、突然すべて.m4pの s.wave.oggs が同じフォルダーにあることを意味します。多くのスペースを使用するため、各ファイルを変換して削除する方法が必要だと思います。

これは私がこれまでに持っているものです:

しかし、私は次のようなものが欲しい:

これが機能することを達成できる方法はありますか?上記のコードはそうではないからです。

0 投票する
2 に答える
2063 参照

hibernate - 休止状態でのバッチ処理のサンプルはありますか?

2 つのテーブルに対して削除クエリを実行できるように、Java hibernate でバッチ処理の例を見つけることができますか。

0 投票する
2 に答える
3124 参照

image - 複数の連番ファイルの名前を変更し、BASH を使用して番号付け形式を変更しますか?

この形式の連続した名前のファイルがたくさんあります: imageXXX.jpg. ですから、それは次のようにimage001.jpgなります。0これの数字部分を保持し、前に付けられた'sを取り除きたいだけです。代わりに、そのファイルの名前は1.jpg. Bashを使用してこれを達成するにはどうすればよいですか?

0 投票する
2 に答える
727 参照

database-design - FaceBook検索:注目に値する技術的要件と革新的な機能は何ですか?

Facebookは彼らの検索にユニークないくつかの機能を作り上げました-おそらくいくつかは特許を取得していますか?私が話す機能は、3つの異なる要件によって推進されます。

  1. 彼らのデータベースは巨大であり、通常、100万レコード未満の単一ホームのビジネスアプリでは、必要なときに必要なデータに参加することはできません。
  2. ユーザーの期待は、他の検索エクスペリエンス、つまりGoogleによって形作られているため、ロングテール検索クエリは、検索対象の人の名前に「フロリダ州オーランド」や「ロータリークラブ」などのキーワードを追加することで実行されます。雇用主名のような他の識別値)。
  3. アプリケーションから見たウィンドウに基づくと、データアーキテクチャは浅いように見えます(もちろん浅くはありません)。私が言っているのは、性別や現在の都市などのユーザープロファイルのいわゆる「基本情報」を超えて、プロファイルを一意にするものの多くが論理列に厳密に割り当てられていないということです。

したがって、データセットのサイズに関連するニーズには複雑さが存在しますが、検索に精通していないが、期待とトレーニングが提供されているユーザーコミュニティに、ユーザーに関連する結果を提供する必要があります。グーグル。

そのすべてを考えると(私の質問の改良):

a。)FaceBookに必要な検索機能のうち、注意して独自の検索アプリ/エンジンにデプロイする必要があるものは何ですか?必要に応じて、データセットの大規模なサイズ、またはユーザーの期待、およびサイトが有機的に成長し、データ間の関係を強化する必要性によって駆動されることを意味します。つまり、ユーザーです。

b。)データや検索アーキテクトが革新的で注目に値する検索機能はどれですか?

名に同義語を使用するなど、明らかなものもあります。「Bill」のクエリと「William」レコードのあいまい一致です。同義語のリストを使用して、Solrでこれを行うことができます。もちろん、これは革新的ではなく、必要な基本機能と呼んでいます。

革新的なその他のもの、私たちの注目に値します。私が注目できるイノベーションの最初の例は、検索の関連性がユーザーごとにカスタム化されていることです。「JohnSmith」と入力すると、別の検索者とは異なる結果セットが得られます(理論的には、私、ネットワーク内の人々、友人の友人などに適しています)。Googleで「ピザ」と入力するだけで、ロケールをクエリに追加することで関連する結果が得られるため、これは革新的ではないと言う前に、フォローしてください。私の望みは、この質問に対する答えと議論が、実際には、いくつかの技術的要件を構成し、検索の機能として含めるアイデアを提供することです。

例えば...

  • 彼らはデータを非正規化するために通常のバッチプロセスを実行していると思いますか?(つまり、インプレースの1次の隔たり、2次の隔たりなどのリンクテーブルを作成するバッチジョブ)
  • そのようなバッチまたは非正規化から、ヒット数を制限しますか?これは、論理的に最も近い「ジョン・スミス」の一致のみを返すことによって証明されます。ただし、一般的でない名前(自分の姓名など)の検索は、結果の制限の影響を受けないようであり、検索は、それらの「数度」の隔たりの完全に外側で、世界中を検索します。
  • 彼らは年齢による関連性スコアを増やし、検索者と同じ年齢層に近い一致により多くの関連性を与えていますか?(コメント:そうあるべきだと思われますが、発生してはならない世代間のコミュニケーション/会議への少なくともマイナーなスピードバンプである可能性があります-婉曲的です、私は知っています)

技術的には、バックエンドで、データベースレベルで非正規化プロセスを実行し、次に「ドキュメント」にインデックスを付けるのが最善ですか?(明確化:エンタープライズ検索に統合された人にとって、「ドキュメント」はデータベースレコードと概念が似ているMOLです。..MOL)

または、データベースの非正規化はありませんか。その代わりに、検索インデックスを作成するプロセスには、各「ドキュメント」に関連情報と「ネットワーク内」またはほんの数度離れている人々を書き込むことが含まれますか?

確かに、そのような情報を前処理する必要があります。私自身、この正確なことを実際に行わなかった場合、データベースレベルでバッチで非正規化することが有利であるように思われます。これは、検索サーバーが情報を超高速で見つけるのに優れているためですが、データベースサーバーは一致するデータ(検索インデックスにない関連する列に拡張されると想定)。

したがって、検索の関連性がユーザー検索者に依存しているという概念を拡張すると、それはユーザーの最近のブラウジングアクティビティの派生物でもあることに注意してください。たとえば、「John Smith Orlando」を検索しても、「正しい」John Smithが生成されることはありませんが、John Smithを友達として追加しなくても、正しいJohn SmithのFaceBookページにアクセスした後(メールで彼のURLを取得したとします) 、ジョン・スミスでのその後の検索では、今回は実際に次回その結果が返されます。[それが古くなるまでにどれくらいかかるのだろうか、それともまったく古くなるのだろうか?]

Facebookは巨大なので、ここでは例として使用しました。JOINそれらのサイズは、通常の形式のままであるものや、1億のレコードテーブルを繰り返し作成できないためにできないもの(リンクテーブルから別の「フォーク」から同じ人物テーブルを再結合する)など、よく考えられたアーキテクチャを強制しますまたは、派生テーブルは「友達の友達」効果を生み出すことができます)。

関連性の調整の実践は、実際にはほとんど芸術です。データセット、ビジネスルール、およびユーザーの期待は非常にユニークであるため、多目的スコアリングテンプレート、またはベストプラクティスでさえ作成することはほぼ不可能です。

そうは言っても、検索を十分にやってのける大きなサイトを見ると、エミュレートするテクニックがありますね。

FaceBookで実施されているこれらのテクニックは何ですか?そして、そのサイズを考えると、ユーザーが必要なときにORMを介して必要なものをフェッチすることはできません(ORMチャンピオンへのスラムではありません)-これには、綿密に計画された正規化、SQLレベルのインデックス作成、DE正規化、および検索サーバーが必要ですインデックス作成。

誰かがそこにあるテクニックのいくつかを提案できますか?さらに言えば、同様の検索(および大規模なデータセット)を備えた大規模なサイトでも、トピックに関する優れた提案が提供されます。

0 投票する
0 に答える
248 参照

c# - C# バッチ列挙子

重複の可能性:
8 つのメンバーのリストへの LINQ パーティション リスト。

があり、IEnumerable<T>それを に変換したいと思いますIEnumerable<List<T>>。各 List は、元の列挙子と同じ順序の項目のバッチです。残りのアイテムを含む最後のバッチを除いて、各バッチはbatchSizeアイテムの長さである必要があるため、 よりも小さい場合がありますbatchSize

基礎となるストアは、システムの下位レベルにバッチ処理をプッシュできるデータベースやその他のストアではありません。代わりに、自分でバッチを蓄積する必要があります。これは、一度に 1 つずつしか取得できないオブジェクトのストリームであるためです。

シーケンスは非常に長く、フェッチには時間がかかるため、List<T>事前に列挙型全体を or 配列にパッケージ化することはできません。batchSize代わりに、結果を取得してすぐに最初のバッチの処理を開始したいと考えています。

後でフェッチを処理に対して非同期にすることを決定するかもしれません (バッチ 1 の処理とバッチ 2 のフェッチを並行して実行できるようにするため) が、今のところ、シングル スレッドのソリューションを探しているだけです。

このバッチ化されたストリーミング列挙を効率的かつエレガントに行う方法について何か提案はありますか? 理想的には、再利用できる拡張メソッドにパッケージ化したいと思います。

0 投票する
1 に答える
338 参照

parallel-processing - LoadLevelerジョブスクリプトのジョブステップループ?

LoadLevelerを使用してIBM/BlueGeneアーキテクチャーでジョブを送信しています。IBMから作成されたドキュメントを読み、Googleも試してみましたが、次の方法が見つかりません。

1つを使用することができます

新しいジョブステップが記述されていることをLoadLevelerに伝えるためのキーワード。

しかし、私が見つけられなかったのは、次のようなことをする方法です。

負荷レベルのスクリプトを何度も呼び出す「通常の」シェルスクリプトを作成する必要がありますか、それとも組み込みのループメカニズムがありますか?私は他のジョブマネージャーがこれを行うことができることを知っています。

0 投票する
2 に答える
145 参照

file-io - ファイルを新しいフォルダにグループ化しますか?

ファイルをコピーして新しいフォルダを作成し、それらのファイルを新しいフォルダに頻繁に貼り付ける必要があります。

このタスクを実行するためのバッチファイルまたはvbscriptファイルを作成できるかどうか疑問に思います。ファイルを選択し、コンテキストメニューから[新しいフォルダにグループ化]を選択するだけです。それは素晴らしいでしょう!

0 投票する
1 に答える
1705 参照

java - ibatis: 挿入性能の向上

SQL挿入stmtにibatisを使用しています。私のコードでは、フォルダーからファイルを 1 行ずつ解析しています。基準に一致する各行をデータベースに挿入する必要があります。プログラムの 1 回の実行での挿入の合計数は、200k に沿った任意の場所にすることができます。

このスタイルはゆっくりと大量のメモリを消費し、数回後に OutOfMemory 例外をスローします。ここでパフォーマンスを向上させるにはどうすればよいですか?