問題タブ [bigdata]

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 投票する
3 に答える
486 参照

node.js - Node.jsを介してMongoDBから大量のアイテムを返す

Node.jsのMongoDBコレクションから多くの(500k以上)ドキュメントを返しています。これは、Webサイトに表示するためのものではなく、データを処理するためのものです。これらのドキュメントをすべて取得すると、システムがフリーズします。それをすべてつかむためのより良い方法はありますか?

私はページネーションがうまくいくかもしれないと思っていますか?

編集:これはすでにメインのnode.jsサーバーイベントループの外にあるため、「システムがフリーズする」とは「着信リクエストが処理されていない」という意味ではありませ

0 投票する
4 に答える
3611 参照

r - R でのビッグデータの処理と分析

これが R のまったく新しい概念ではないことは承知しており、High Performance and Parallel Computing Task View を参照しました。そうは言っても、私はコンピューターサイエンスの正式なトレーニングを受けておらず、完全に独学であるため、無知からこの質問をしています。

最近、Twitter Streaming API からデータを収集しました。現在、生の JSON は 10 GB のテキスト ファイルに格納されています。ビッグ データを処理するように R を適応させることに大きな進歩があったことは知っていますが、この問題にどのように対処しますか? ここに私がやろうとしているタスクのほんの一握りがあります:

  1. データをデータ フレームに読み取って処理する
  2. テキストマイニングを含む基本的な記述分析(頻出用語など)
  3. プロット

これに R を完全に使用することは可能ですか、それとも、R に収まるほど小さいランダム サンプルを取得するために、データを解析してデータベースに投入する Python を作成する必要がありますか?

簡単に言えば、提供できるヒントや指針は大歓迎です。繰り返しますが、3 年生レベルでの解決策を説明しても、私は気分を害することはありません。

前もって感謝します。

0 投票する
4 に答える
1761 参照

python - ファイルの内容をパイプに送信し、単一のステップで # 行をカウントする Pythonic の方法

> 4 GB のファイル myfile.gz が与えられた場合、Teradata の fastload で使用できるようにパイプに zcat する必要があります。ファイル内の行数もカウントする必要があります。理想的には、ファイルを 1 回だけ通過させたいと考えています。awk を使用して行全体 ($0) を stdout に出力し、awk の END 句を使用して、行数 (awk の NR 変数) を別のファイル記述子 (outfile) に書き込みます。

awk を使用してこれを行うことができましたが、より Pythonic な方法が存在するかどうかを知りたいです。

パイプは、後で teradata の fastload への呼び出しによって消費されます。

これは機能しますが、awk をスキップして Python をより有効に活用できるかどうかを知りたいです。私は他の方法にもオープンです。この方法で処理する必要がある大きなファイルが複数あります。

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

database - 多数の読み取りと書き込みを伴う巨大なデータに最適なデータ ストア

データベースに約 1 億件のレコードを保存する必要があります。それらの約 60 ~ 70% が毎日削除され、同じ量のレコードが毎日挿入されます。Hbase や Big Table のような文書データベースがこれに収まる気がします。Cassandra、MongoDb など、他にも多くのデータ ストアがあります。毎日膨大な量の読み取り/書き込み (数千万のオーダー) が発生するため、この種の問題にはどのデータ ストアが役立ちますか。

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

algorithm - stackoverflow の提案はどのように機能しますか?

アルゴリズムの背後にある理論は何ですか?たとえば、あなたが質問を書いているときに、同様の質問に対してstackoverflowサイトで提案を生成しますか? このテーマに関する本を何冊かお勧めいただけますか。

0 投票する
5 に答える
1798 参照

java - 大量のデータを生成するにはどうすればよいですか?

私はnutchとhadoopを使っていくつかのテストを行っていますが、大量のデータが必要です。20 GBから始めて、100 GB、500 GBに増やし、最終的に1〜2TBに到達したいと思います。

問題は、この量のデータがないことです。そのため、データを生成する方法を考えています。

データ自体はどのような種類でもかまいません。1つのアイデアは、データの初期セットを取得して複製することです。ただし、互いに異なるファイルが必要なため、十分ではありません(同一のファイルは無視されます)。

もう1つのアイデアは、ダミーデータを使用してファイルを作成するプログラムを作成することです。

他のアイデアはありますか?

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

asp.net-mvc - 本番MVC/SQLアプリケーションでの大量のアクションのログ記録

現在LINQ-to-SQLを使用しているASP.NETMVCフレームワークとSQLServerのユーザーに満足しています。これは、月に約140万人のユーザーと200万人以上のアクティブなユニーク数を持つ消費者向けアプリケーションで私たちのニーズを十分に満たします。

すべてのユーザーアクション(記事の表示、サイトでの検索など)のログ記録を開始するのはかなり遅れており、そのための適切なアーキテクチャを調査しようとしています。

アーカイブシステムは、本番記事と検索エンジンを格納するメインのSQLクラスターの一部ではなく、独自のエンティティである必要があります。最初は1つのボックスから始めて、独自のSQLクラスターにする必要があります。

問題を単純化するために、これらの数百万人のユーザーがその月にサイトに入力した検索用語をログに記録したいとします。これは、サイクルを最小限に抑えた方法で行います。

私の質問:(1)検索語をリモートボックスにダンプする非同期の方法はありますか?LINQはこれに対して非同期をサポートしていますか?

(2)たとえば1,000(userId、searchTerm、date)のログ項目のキャッシュをRAMキャッシュに構築し、それらを定期的にデータベースにフラッシュすることをお勧めしますか?この方法では、オープン/クローズ接続が削減されると思います。

それとも私はこれを完全に間違っていると考えていますか?実装のしやすさと堅牢性のバランスを取りたいと考えています。

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

r - R の Bigglm: ソース コードの制限と改善 (例: Fortran の呼び出し)

最近、R を使用して、100 mb csv ファイル (900 万行 x 5 列) で一般化線形モデル (GLM) を実行しています。このファイルの内容には、depvar、var1、var2、var3、var4 と呼ばれる 5 つの列が含まれており、列に 0、1、または 2 のいずれかの数値が含まれるようにすべてランダムに分散されています。基本的に、biglm パッケージを使用して GLM を実行しましたこのデータ ファイルと R はこれを約 2 分で処理しました。これは、R バージョン 2.10 (現在 2.14 に更新中)、4 コア、8 GB の RAM を使用する Linux マシン上にありました。基本的には、コードを 30 ~ 60 秒程度で高速に実行したいと考えています。1 つの解決策は、より多くのコアと RAM を追加することですが、データセットが大きくなるだけであることを認識しているため、これは一時的な解決策にすぎません。理想的には、bigglm のコードを高速化する方法を見つけたいと思っています。データセットでいくつかの R プロファイリング コードを実行しました。

次に、このコマンドを入力した後、次のような bigglm コードを記述します。

約 2 ~ 3 分かかるこれらのコードを実行した後、次のように入力してプロファイリング コードを表示します。

次に得られるのは、bigglm プロセスの内訳と、どの個々の行が非常に長くかかっているかです。これを見た後、非常に長い時間 (約 20 秒) かかっている fortran コードの呼び出しがあったことに驚きました。このコードは、次の Bigglm のベース ファイルにあります。

bigglm 0.8.tar.gz ファイル内

基本的に私がコミュニティに求めているのは、このコードをより高速にできるかということです。たとえば、コードを変更して Fortran コードを呼び出し、QR 分解を実行します。さらに、as.character や model.matrix のような他の関数もあり、これも時間がかかりました。私が提供した情報があれば簡単に再現できると思うので、ここにプロファイリング ファイルを添付しませんでしたが、基本的には、ビッグ データの大きな問題と、このビッグ データで GLM を処理することをほのめかしています。これは R コミュニティの間で共有されている問題であり、この問題に関するフィードバックやヘルプがあればありがたいと思います。おそらく、別のデータセットを使用してこの例を簡単に複製し、bigglm コードで非常に時間がかかっているものを調べて、それらが私が見つけたものと同じかどうかを確認できます。もしそうなら、誰かが bigglm をより速く実行する方法を理解するのを手伝ってくれます。Ben がリクエストした後、私が持っていたプロファイリング コードのスニペットと、csv ファイルの最初の 10 行をアップロードしました。

この CSV 出力は、私のテキスト エディター UltraEdit からコピーしたもので、var1 は値 0 または 1 を取り、var2 は値 0 および 1 を取り、var3 は値 0、1、2 を取り、var4 は値 0、1 を取り、 2,3 および depvar は値 1 または 0 を取ります。この csv は、RAND 関数を使用して最大約 100 万行まで Excel で複製できます。その後、テキスト エディターで多数の行を取得するために、コピー アンド ペーストを数回行うことができます。ウルトラエディットのように。基本的に、RAND() を 1 列に 100 万列に入力し、RAND() 列の横の列で round(column) を実行して 1 と 0 を取得します。同様の考え方が 0,1,2,3 にも当てはまります。

プロファイリング ファイルは長いので、最も時間がかかった行を添付します。

私が最も驚いたのは、Fortran を呼び出している .Call 関数です。たぶん私はそれを理解していませんでした。この関数を使用すると、すべての計算が完了するようです。これは、Fortran コードを抽出するためのリンク関数のようなものだと思いました。さらに、Fortran がすべての作業と反復的に重み付けされた最小二乗/QR をすべて実行している場合、残りのコードに時間がかかるのはなぜですか。

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

database - BigTable の設計 - BigTable セルのサイズの上限

BigTable のセル コンテンツのサイズに上限があるかどうかを知りたいです。BigTable セルとは、テーブルの特定の列ファミリー、特定の行、および特定のタイム スタンプのセルを意味します。はいの場合、上限はどれくらいですか?そうでない場合、パフォーマンスに悪影響を与えることなくセルのサイズをどれだけスケールアップできますか?

BigTable の論文によると、各 SSTable ファイルには内部に 64Kb のブロックとインデックスがあります。これは、インデックスのキーが行 + 列 + タイムスタンプ (+ は連結を表す) であり、特定のキーによってマップされた値が 64kb の対応するセルであることを意味しますか? これは、BigTable セルが 64 Kb を超えてはならないということですか?

ありがとう

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

amazon-ec2 - ビッグデータの公開データセットを AWS にインポートするにはどうすればよいですか?

Amazon の一覧にあるパブリック データ セット (http://aws.amazon.com/datasets) をロードすると、多くのリソースと帯域幅が必要になります。すぐに作業を開始できるように、それらを AWS にインポートする最良の方法は何ですか?