問題タブ [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.
perl - Perlを使用して大きなデータファイルを処理する方法は?
以下に示すように、300GBのファイルからいくつかの行が必要です。以下に示す行から、必要なのは。で始まる行だけ>miR
です。
希望する出力を実際に出力するPerlプログラムを作成しましたが、同じコードを300 GBまでの大きなファイル(以下に示す同様の行)に適用する場合、これをどのように処理しますか?コードが実行されると強制終了されるため、このコードに実装できる代替手段はありますか?
。
mysql - 大規模なデータ セットに対する MySQL の非効率的なクエリ
次のような MySQL テーブルがあります (意味のない列は削除されています)。
テーブルには約 9 億行あり、1 つの account_id がそれらの行の 65% 以上を占めています。account_idに依存するcreated_tsとissued_tsの両方の日付範囲にわたるクエリを作成するように求められています.account_idは、自動インクリメントキーに1:1の機能依存関係があるようです.
典型的なクエリは次のようになります。
クエリの EXPLAIN は、これを示しています。
問題は、クエリに時間がかかりすぎて、最終的に強制終了されることです。OS(Linux)がスワップスペースを使い果たしたため、データベースホストがダウンしました。
私はこの問題を繰り返し調査し、クエリを相関関係のないサブクエリに分割し、インデックスを強制し、明示的な SELECT 句を使用し、日付範囲のウィンドウを制限しようとしましたが、結果は同じです: パフォーマンスの低下 (あまりにも遅い)、ホストに負担がかかりすぎます(常に死にます)。
私の質問は次のとおりです。
データを日付範囲にスライスし、リアルタイム呼び出しで許容できるように実行するようにクエリを作成することは可能ですか? ( < 1 秒)
要求されているパフォーマンスを得るために、欠けている、または役立つ可能性のある最適化はありますか?
その他の提案、ヒント、または考えは大歓迎です。
ありがとう
hadoop - データのバージョン管理(Hadoop、HDFS、Hbaseバックエンド)
Hadoop / HDFS/Hbaseでデータをバージョン管理する方法を知りたいです。変更の可能性が非常に高いため、モデルの一部である必要があります(ビッグデータは長期間にわたって収集されます)。
HDFS(ファイルベースのバックエンド)の主な例。
sample-log-file.log:
p>バージョニング情報をどこに追加するのか疑問に思います。私は2つの選択肢を見ます:
ファイル形式内のバージョン
log-file.log:
ファイル名内のバージョン
* log-file_V1.log *
p>* log-file_V2.log *
2番目のオプション(ファイル名のバージョン)は、私にはもう少しクリーンで、HDFSに適合します(古いバージョンスタイルのファイルを除外するパターンとして* _v2 *を使用できます)。一方、1つのジョブでバージョンスニペットを分析できないため、2つの異なるジョブを実行する必要があります。
HBaseについてはどうでしょうか。HBaseでは、バージョンは間違いなく別のテーブル列で終わると思います(HDFSは実装の詳細であり、HBaseのバックエンドとして使用されます)。
バックエンドHadoop/HDFS / HBaseのデータをバージョン管理する他の代替アプローチはありますか?
ありがとう!
編集:私の質問は、タイムスタンプではなく、バージョン情報自体を処理する方法に関連しています。
open-source - cassandraまたはhbaseからleveldbタイプのデータストア(sstable + memtable)を抽出する方法は?
LevelDB は、Google の非常に興味深い C++ データ ストアです。私はJavaの世界で似たようなものを探しています(率直に言って、コードをよりよく理解し、Windowsでより簡単に実行できるようにするためです)。
HbaseとCassandraにも同じ基本技術が含まれていることを理解しています.ファイルストア用のsstable、メモリ内ストア用のmemtable(ソートされてディスクに書き込まれる前)、ある種の圧縮、定期的な圧縮などです。
大規模なプロジェクトからこの技術を引き出す努力はありますか? 私は自分自身 (主に Cassandra) のコード ベースを見始めましたが、これらは明らかに些細なプロジェクトではありません。モジュラー コードが多いのはどのプロジェクトですか?
ポインタを楽しみにしています!
hadoop - ハイブでのORDERBYの代替
ハイブでORDERBYを使用することにより、単一のレデューサーのみを使用します。したがって、ORDERBYは非効率的です。ORDERBYに利用できる代替ソリューションはありますか。
よろしく、ラット
performance - Haskell:リストをメモリに保持せずに、同じレイジーリストに対して複数のフォールドを実行できますか?
私の文脈はバイオインフォマティクス、特に次世代シーケンシングですが、問題は一般的です。例としてログファイルを使用します。
ファイルは非常に大きい(ギガバイトの大きさで、圧縮されているため、メモリに収まりません)が、解析が簡単であるため(各行はエントリです)、次のように簡単に記述できます。
これで、ログファイルから計算したい統計がたくさんあります。次のような個別の関数を作成するのが最も簡単です。
これらはすべて。の形式foldl' k z . map f
です。
問題は、私がそれらを最も自然な方法で使用しようとすると、
これにより、リスト全体がメモリに割り当てられますが、これは私が望んでいることではありません。consセルをガベージコレクションできるように、フォールドを同期的に実行する必要があります。統計を1つだけ計算すると、これが起こります。
これを行う大きな関数を1つ書くことはできますが、それは構成不可能なコードです。
または、これまで行ってきたことですが、各パスを個別に実行しますが、これにより、毎回ファイルが再ロードおよび解凍されます。
mysql - このユース ケースに最適なデータベースとハードウェアを選択する
UUID、年齢、性別、家族の収入、および 12 のフィールドを持つユーザーの 1 つのテーブル データベースを作成します。それらの約 40 - 5000 万。年齢範囲、収入範囲などに基づいてクエリを実行し、uuid のリストを取得する必要があります。連結する場合、各行は約 400 文字にする必要があります。400 バイトに 50Mil を掛けると、およそ 17 ~ 18 GB になります。ゆっくりですが成長します。
このデータを保持し、高速なクエリを実行するのに最適なデータベース システムはどれですか。モンゴまたはMySQL?また、どの種類のハードウェアを保持するのが最適か。
また、経験に基づいて、mySQLまたはMongoのクエリ時間がかかることを誰かが教えてもらえますか. これに基づいて、システム全体の他のコンポーネントのアーキテクチャを設計する必要があります。
bigdata - OrientDB GraphDatabase: @RID が graph.getVertex(rid) を取得するための OSQLSynchQuery ... インデックス キーから頂点をロードする最速の方法は?
基本的な Blueprints 互換の OrientGraph に Index 'name' (unique または notunique) がある場合、必要に応じて以下を改善する方法について何か提案はありますか?
注: index を使用して [blueprints] 頂点をロードするための決定的なガイドが見つかりません。大きなグラフがあり、(コンソールで) has('name','bob') を使用すると 2 分かかります! 一方、インデックスベースの検索はミリ秒単位で返されます。
私がこれまでに思いついた最高のもの:
content-management-system - ビッグデータ CMS 全文検索
現在、ユーザーがドキュメントをアップロードするアプリケーションを持っています (pdfs/excel/word、いくつかの画像)。できるビッグデータ(Hadoop-MangoDB)ソリューションを探しています
何千ものpdf、word、excelファイルを保存します(サイズも大きくなっています)
画像のメタ情報を検索
全文検索 (ほとんどリアルタイム)
検索の高速化
ご意見をお聞かせください