学習のビッグデータの開発、どのような困難重いのですか?

ビッグデータの開発エンジニアは、多くの人々が占領のために憧れていますが、あきらめて、それを強制的にこのまたはその理由は、常にあります。、大規模なデータのための良好な見通しを知って大規模なデータを検討した後、良い仕事を見つけることができることを知って、それは残酷下、独自のものではありません。困難は、ヘルプの人に一つずつ学生が学習プロセス、大規模なデータの開発で遭遇する困難を克服総括します!

ビッグデータ開発、四つの段階があります。

1、データ収集

データは、通常、クロールによって、オンラインクローリングことにより、2つの方法で、オンラインとオフラインで収集した、または既存のアプリケーションシステムの買収を通じて、この段階では、我々は(自動爬虫類に頼るのpythonを使用して、大きな買収プラットフォームを行うことができますかウェブクローラを作るnodejs)、ETLツール、またはカスタム抽出変換エンジン、ファイルから、データベース、データをクロールするWebページの特別なこのステップは自動化されたシステムを介して行われた場合、あなたは簡単に生データのすべてを管理することができますそして、タグデータから取得したデータが開始され、私たちは作業の開発を調節することができます。そして、ターゲット・データ・ソースは、より簡単に管理することができます。

そのデータ取得複数のデータソース、例えばMySQLの、PostgreSQLの、のSQLServer、MongoDBは、sqlliteに困難。だけでなく、ローカルファイル、統計的な文書、さらにはドキュメントファイルを優れています。彼らはどのように構造化、プログラムは、私たちの大規模なデータフローの一部への仕上げが不可欠ですしています。

図2に示すように、データ集約

データの集計を使用して、データの標準化を追加することができ、大規模なデータが流れるの重要なステップであり、ここでデータクレンジング、データ統合を行うことができ、データも、この段階でアーカイブすることができ、利用可能なデータが通過監視することができることを確認しますプロセスは、ここでは、すべてのデータをソートし、企業のデータ資産の全体が出力され、一定量に固定資産の合計であること。

そのような増分データがあるかどうか、テーブル名の標準化、ラベル分類テーブル、テーブルを使用して、データの量、として標準化されたデータのどのデータ集約の難しさが嘘必要な場合は?かどうかのデータが利用可能ですか、上から下へのビジネスにおける多くの努力を取りこのように自動的にテーブル、テーブルのフィールド名をお勧め割り当てられたトレーニングコンテンツラベルの結果に基づいて、自動再生、など、インテリジェントな処理を導入します。そして、どのように生データからデータをインポートします。

図3に示すように、データ変換およびマッピング

特定の消費者の使用を提供するために、データ資産のデータ集約を渡すためにどのように?このステップでは、主な考慮事項は、どのようにデータアプリケーション、2?データテーブルに変換した3は?データサービスを提供することができますか。その後、定期的にデルタを更新します。

このステップでは、あまりにも多くのデータを変換するためにどのように困難、とどのようにデータをきれいにするではない、という以前のステップの後に、標準的なデータが行く、二つのフィールドの値フィールドに、または使用可能なテーブルの複数の統計によると張チャートデータのように。

4、データアプリケーション

多くのアプリケーションモードのデータは、外部、内部があり、そこにある、あなたは自分自身のためのテーマ別データを安らかなAPI経由でユーザーが利用可能なデータ資産の事前大量に持っているのか、それとも消費のアプリケーション?それとも直接組成物にストリーミングエンジンKAFKAを提供する場合準備作業が行われてアプリケーションのクエリは?ここでデータ資産の要件は、ここでは、自由度の高い比較的高いです。

ビッグデータ開発の難しさは、企画・開発スタッフ?開発者が何気なくゴミの束を集め、直接データベースに接続する方法、モニターに主にあります。短期的には、これらの小さな問題を修正することができます。しかし、そのようなデータの突風として、時間の資産の量を増やす、これが爆発する準備ができて時限爆弾で、その後、資産データへの影響のシリーズをトリガすることは、データ資産の価値は、顧客の信頼が低い減少しています。

ビッグデータ学習ルート

ジャワ(Java SEの、JavaWeb)
のLinux(シェル、並行性の高いアーキテクチャ、Luceneと、Solrの)
Hadoopの(Hadoopの、HDFS、MapReduceの、糸、ハイブ、HBaseの、Sqoop、ZooKeeperの、水路)
機械学習(R、Mahoutの)
嵐(ストーム、カフカ、Redisの)
スパーク(スカラ、スパーク、スパークコア、SQLスパーク火花ストリーミング、mllibスパーク火花Graphx)
パイソン(Pythonの、Pythonのスパーク) 
クラウドコンピューティングプラットフォーム(ドッカー、KVM、OpenStackの)

用語集

A、のLinux
のLucene:フルテキスト検索エンジンのアーキテクチャ
のSolr:Luceneをベース全文検索サーバ、設定可能な拡張性と最適化されたクエリのパフォーマンスを達成するために、フル機能の管理インタフェースを提供します。

二、Hadoopの
HDFS:名前ノード、データノードを含む分散ストレージシステム。名前ノード:メタデータ、データノード。データノード:保存されたデータの数。
糸:MapReduceはHadoopのの処理および分析メカニズムは、ノードマネージャのResourceManagerに、本質的に、調整メカニズムとして理解することができます。
MapReduceの:ソフトウェアフレームワーク、プログラミング。
ハイブ:データウェアハウスは、SQLクエリを使用することができ、あなたがプログラムを削減/地図を実行することができます。計算傾向やWebログを使用し、リアルタイムクエリには使用しないで結果を返すために長い時間がかかります。システムに大きなデータを勉強したい、あなたはケリをJunyang学ぶためにビッグデータ交換技術に参加することができます:522 189 307を、紹介もちろん理解するために、追加して歓迎
のHBase:データベース。大きなリアルタイムクエリデータのために非常に適しています。FacebookのHBaseのメッセージとリアルタイム分析と保存されたメッセージデータ
のZooKeeper:分散大型の信頼性協調システム。例えば、名前ノードは、複数のアクティブ・スタンバイ・スイッチによって実現Hadoopの飼育係分散同期。
Sqoop:相互転送データベース、リレーショナルデータベースとHDFSの相互転送
Mahoutの:スケーラブルな機械学習とデータマイニングライブラリ。推奨鉱業、集計、分類、頻繁アイテムセットマイニングを行うために使用。
Chukwa:HDFSと地図の上に構築された大規模分散システムを監視するための歳入徴収システム、/ Reduceフレームワーク。ディスプレイ、モニター、結果を分析。
Ambari:設定するために使用され、ウェブ、フレンドリーなインターフェイスに基づいて、Hadoopクラスタを管理および監視します。

二、Clouderaの
Clouderaのマネージャー:統合管理と診断モニタリング
ClouderaのCDH:(Clouderaのディストリビューションの、 ClouderaのApacheのHadoopを含む) のHadoopは、適切な変更を行うためには、CDHと呼ば離します。
Clouderaの水路:データを収集するためのカスタムデータ送信側のログシステムのすべての種類をサポートするためのログ収集システム。
Clouderaのインパラ:ApacheのHadoopのHDFSの中に格納される、HBaseのデータは、対話型SQLへの直接アクセスを提供します。
Clouderaの色相:色相UI、登輝サーバ、ホイDBなど、Webマネージャ、 。CDHの色相はシェルインターフェイスインターフェイスのすべてのコンポーネントを提供し、あなたは色相でMRを書くことができます。

第三に、機械学習/ R
R:統計分析、マッピング言語と動作環境のために、R-Hadoopのある
クラスタリング、分類、勧告ろ過、頻繁に子供を含め、古典アルゴリズムを機械学習のスケーラブルな実装を提供します:Mahoutのは、用語は、鉱業、およびHadoopのを経由してクラウドに拡張することができます。

四、嵐
嵐:リアルタイム分析として使用することができ、分散、フォールトトレラントのリアルタイムストリーミングコンピューティングシステム、オンライン機械学習、情報フロー処理、コンピューティングの継続性、分散RPC、リアルタイムでメッセージを処理し、データベースを更新します。
カフカ:ハイスループットは、パブリッシュ・サブスクライブストリーミングデータをすべてのアクションを扱うことができるシステム(などの閲覧、検索、)消費者向けウェブサイトのサイズをメッセージング配布しました。ログデータと相対のHadoopのオフライン解析は、リアルタイム処理を実現することができます。本平行線を介して処理A統一メッセージとのHadoopのオフロード機構で
も永続ログメモリタイプ、キーと値のデータベースに基づいて、C言語、サポートネットワーク、により調製:Redisの。

五、スパーク
スカラます。javaに似た完全なオブジェクト指向プログラミング言語。

 

jblas:高速な線形代数ライブラリー(JAVA)。BLASとLAPACK、マトリックス事実上の業界標準に基づいて計算し、それは非常に速くそれを作る、ATLASの芸術の高度なインフラと計算手順のすべてを実装します。

スパーク:スパークのHadoopのMapReduceはHadoopのMapReduceのに加えて、平行Scalaの言語で実装一般的なフレームワークに類似しているが、利点を有するが、MapReduceの中間出力ジョブとは異なるが、それによってHDFSを読み書きする必要がなくなり、メモリに格納することができますしたがって、MapReduceのアルゴリズムは、データマイニングや機械学習ニーズの繰り返しに適用優れたスパーク。Hadoopのファイルシステムと並列に動作することができますが、Mesosはこの動作をサポートすることができ、サードパーティのクラスタリング・フレームワークを使用していました。
スパークSQL:Apacheのスパーク大きなデータフレームの一部として、データを構造化するために使用することができ、SQLのような照会データ点火処理を行うことができる
スパークストリーミング:構築スパークにリアルタイムフレームを計算し、スパーク大きなデータストリームデータを展開します容量。
スパークMLlibは:MLlibスパークは、実装が共通のマシンは、バイナリ分類、回帰、クラスタリングや協調フィルタリングのためのアルゴリズム、現在(2014.05)のサポートを学ぶことのライブラリです。また、勾配降下最適化アルゴリズムの下のベースを含みます。JblasはMLlib、遠隔自体jblas以来のFortranプログラム以来、代数ライブラリを線形。

スパークGraphXは:GraphXあなたがスパークデータのワンストップソリューションを提供することができ、それは図の組立ラインの計算の簡便かつ効率的に完全なセットすることができ、並列コンピューティングおよび図APIのスパークです。

Fortranの:最古の高レベルのコンピュータプログラミング言語、広く科学技術コンピューティングで使用されます。

BLAS:基本的な線形代数サブルーチンライブラリ、プログラムはすでに、線形代数演算について多くのことを書いています。
LAPACK:など、線形方程式を解くように計算科学と工学における最も一般的な数値線形代数の問題を解くなどの有名なオープン・ソフトウェア、最小二乗問題、固有値問題や特異値問題の線形。
ATLAS:ライブラリのBLAS線形アルゴリズム最適化されたバージョン。
Scalaの言語でスパークを、しかし、互換性の促進およびJavaとPythonインタフェースを提供するために:Pythonのスパーク。

六、Pythonの
Pythonの:オブジェクト指向、解釈コンピュータ・プログラミング言語。


七つのクラウドコンピューティングプラットフォーム
ドッカー:オープンソースのアプリケーションコンテナエンジン
KVM(キーボードビデオマウス)

 

公開された160元の記事 ウォンの賞賛2 ビュー10000 +

おすすめ

転載: blog.csdn.net/mnbvxiaoxin/article/details/104654034
おすすめ