まず、碑文
言う現在のIT業界大注目の何?noneにABC秒。いわゆるABCの、AI +ビッグデータ+クラウドまた、その人工知能、ビッグデータやクラウドコンピューティング(クラウドプラットフォーム)。これらの領域のそれぞれは、今私たちは、この方向の次のビッグデータビッグデータへの上にある前方リードする業界のリーダーで、今日があります。
大きな役割内の第二に、データ
役割:ビッグデータ工学
データの可用性の問題、すなわち、大規模なエンジニアリングシステムは、下流のためのリアルタイムデータを必要とする主な考慮事項は、ビッグデータプロジェクトは、このようなシステムの設計と展開におけるデータ収集、計算及び保全作業の定義、それほど大きなデータエンジニアに対処する必要があります業務システムや解析システムは、データサービスを提供すること。
役割2:ビッグデータ分析
データを使用する方法のビッグデータ分析の役割 - それはデータ分析を提供する方法である大規模なエンジニアリングシステムのデータからデータを受信した後に、ビジネスや組織として出力され、実際に企業のビジネスを改善したり、サービスレベルを向上させることができますので、トレンド分析、モデリングと予測分析:大規模データ分析のために、彼らの主な問題は、特定を含むことができる、データの価値を見つけて利用することです。
役割これら2種類の相互依存しているが、何を意味し、独立して動作しますか?重大なエンジニアリングデータ、ビッグデータ分析が不可能でないだろう。しかし、重大なデータ解析が存在しない場合、私は、ビッグデータプロジェクトの存在意義を考えることはできません。愛の目的は、いじめではなく、愛のために結婚することで、結婚している - これは、結婚と愛に似ています。
ビッグデータ分析の役割は、高度なコンピューティング・データを実行することで、簡単に言えば、データ収集、計算(または処理)の役割を検討する必要がある大規模なデータ・プロジェクトをまとめて保存。
[ビッグデータは、学習教材に収集方法を開発するために:Q基522189307を学ぶためにビッグデータ交換技術を追加し、私的な手紙には、管理者が自由に受け取ることができます
第三に、ビッグデータ・エンジニア
役割について:ジョブに対応ビッグデータ・プロジェクトは、大規模なデータ・エンジニアのためのビッグデータ・エンジニアと呼ばれ、あなたには、少なくとも以下のスキルを持っていると思います。
Linuxの基礎
あなたは、このようなユーザー管理、特権のようなシェルプログラミングなどの基本操作を、Linuxにする必要がありますので、ほとんどのオープンソースソフトウェアをしているビッグデータシステムは、オープンソースソフトウェアは、オープンソースのLinuxシステム上で実行されているので、
JVMベースの言語:
偉大ような現在の生態学的データJVMベースの言語の大部分は、独占のいくつかの程度が過剰ではないです。ここで私はあなたがそのような言語は、実際には、始めるのは簡単ではないとして、JavaやScalaの、Clojureのを学ぶあなたが使用することをお勧めしませんお勧めします。また、今は「子供にあなたの母、」ビッグデータフレームワークの時代には、このようなドッカーのゴー上などの一般的なプログラミング言語は、カフカがスカラ座にあるいくつかの火がかかります。
そこでここでは、あなたが、少なくとも言語のJVMシステムに精通しになりたいことをお勧めします。それは言及する価値がある、処理モデルが似ている言語、実際には多くの大規模データフレーム処理モード、言語レベルのマルチスレッドモデルとメモリモデルを理解することを確認し、マルチスレッドも、彼らは複数のマシンに拡張のみビッグデータフレームワークこのレベルを配布しました。
推奨:JavaやScalaのを学びます
計算処理フレーム:
厳密に言えば、それはオフラインのバッチ処理やストリーミングに分かれています。ストリーミングは、将来のトレンドである、あなたが学ぶために行かなければならないことを示唆している;およびオフラインバッチがすぐに古くなって、すでにある、それはこのようにその範囲を縮小し、無限のバッチ処理のデータセットのアイデアを扱うことができません。実際には、Googleが正式に表現するMapReduceとオフライン処理に家を断念しました。
ですから、リアルタイム・ストリーミング・フレームワークを習得するために、ビッグデータプロジェクトを知りたい場合は、それが必要です。現在主流のフレームワークが含まれます:ApacheのSamza、Apacheの嵐、Apacheのスパークストリーミングだけでなく、最新年酔わApacheのFLINKを。カフカストリーム:もちろん、Apacheのカフカは、独自のストリーミングフレームワークを開始しました
勧告:でFLINK、スパークストリーミングやカフカストリームを学びます。
分散ストレージフレームワーク:
MapReduceはやや時代遅れですが、HadoopのHDFSの別の礎石は堅調に推移し、オープンソースコミュニティは、最も人気の高い分散ストレージで、絶対にあなたが学ぶのに時間がかかる。一方で
スケジューリングフレームワークをリソース:
ドッカーが、全火災の最後の1年か2年。企業が力ドッカーコンテナベースのソリューションであり、最も有名なオープンソースのコンテナがK8Sスケジューリングフレームワークですが、HadoopのYARNとApache Mesosにも同様に有名です。後者の二つは、コンテナクラスタをスケジュールすることができるだけでなく、あなたが私たちの研究の非常に価値がある、非コンテナクラスタをもスケジュールすることができます。
分散協調の枠組み:
そのようなサービスの発見、リーダー選挙、分散ロック、KVストレージとして、すべての主要な分散型ビッグデータフレームワークをで実装するために必要ないくつかの一般的な機能があります。これらの機能は、分散協調の枠組みの開発を生み出しました。最も古く、最も有名なのは間違いなくApacheの飼育係、その上の領事、etcdを含む新しい番号でした。ビッグデータは深い理解もある程度、分散協調の枠組みが理解できない、プロジェクトを学びます。
列ストアデータベース:
一度のOracleを学ぶのに長い時間がかかったが、現在のリレーショナルデータベースは、人々のビジョンのフェードアウトゆっくりとされていることを認めざるを得ない、RDBMSを置き換えることができますあまりにも多くのプログラムがあります。大規模なデータストレージのための人々のラインは、このような医療過誤は、柱状ストレージを開発したアドホッククエリでは使用できません、一般的なカラムストアデータベースは、HBaseのは、オープンソースコミュニティです。
メッセージキュー:
「ロード・シフト」メインシステムとして、メッセージキュー内のビッグデータ処理プロジェクトはそうではActiveMQ、カフカとを含む、現在の多くは、ありますが、この分野でのソリューションが不可欠です。アリは、国内RocketMQを開きます。これは間違いなくApacheのカフカの指導者の一人でした。カフカの多くのデザインのアイデアは、特にストリーミングデータ配信処理の概念に合うように設計されています。それは不思議、カフカの原作者ジェイKrepsしかし、偉大な神の上部側面の今日のリアルタイム・ストリーミングません。
勧告:カフカ、Haozhaogongzuo(ほぼすべてのビッグデータが募集を再開カフカ:-)が必要になります)だけでなく、アナロジーを理解するためには、さらにログベースのパラダイムを扱うのデータバックアップ方法を学びます
第四に、ビッグデータ科学者データアナリストか
2の役割について:ビッグデータ分析、対応するジョブは、データ科学者として、我々は以下のスキルを習得しなければならない、ビッグデータ分析やデータ科学者と呼ばれます:
数学的なスキル:
微積分はマスターに厳密です。微積分はなく、1元はに精通していると、使用しなければならないで、多変数微分積分学を習得する必要はありません。さらに、線形代数は、特に算数の概念、ベクトル空間、ランク行列堪能でなければなりません。多くの計算における機械学習の枠組みでは、行列の乗算を使用移調または逆にする必要があります。多くのフレームワークは、直接そのようなツールを提供していますが、少なくとも私たちは、このような効率的な行列の逆行列とどのように計算し、ためにそこにあるかどうかを判断する方法として、内部プロトタイプの原則を、理解したいが。
「高い数学」の同済のバージョンを確認し、Courseaはペンシルバニア大学で微積分のコースを学ぶ行く余裕ができ
ストラングの線形代数学習推奨:「線形代数入門」 - これは、最も古典的な教科書、ないです!
数理統計:
確率と統計的手法は、このような方法をベイズ確率計算などの基本的なコントロールのすべての種類を、行うには?確率分布は、それがどのようにあるのですか?必須ではありません習熟けれども、しかし、背景とあなたが用語を理解させます
「確率論」の下で、再学習を検索するには
インタラクティブなデータ分析フレームワーク:
ここを参照するか、SQLデータベースクエリのですが、Apache Hiveのか、Apacheの麒麟のような対話の枠組みの分析はありません。オープンソースコミュニティは多くのそのような同様のフレームワークがありますが、あなたは大規模なデータのデータ解析やデータマイニングにデータ分析の伝統的な方法を使用することができます。
私たちは、ハイブと麒麟であるとの経験を持っていました。しかし、特にHive1ハイブは、MapReduceのに基づいており、パフォーマンスが特に良好ではありませんが、麒麟は、データキューブの概念を使用すると、スターモデルを組み合わせた麒麟が最初のR&Dチームであるほか、分析の速度が、非常に低遅延を行うことができる中国の人々の主要な力でありますApacheのインキュベーター・プロジェクト、したがってますます広く注目。
最初のハイブを学んで、背後にあっ麒麟を見つけるための時間であり、データマイニングのアイデア。
機械学習フレームワーク:
宇宙を学ぶ現在のマシンは本当に暑いです、と誰もが機械学習とAIを入れていませんが、現在普及しているが、私はいつも、数年前のように、機械学習が雲のようであると思ったが、実際の着陸プロジェクト、何年もかかることがあり成熟します。
しかし、機械学習の知識は常に害はありません確保するために今始めます。それは誰にでも馴染みの機械学習の枠組みになると、多くのがあり、便利になるだろうリードをTensorFlowその中TensorFlow、Caffe8、Keras9、CNTK10、Torch711、などが含まれます。
実際にはあまりないかもしれません、現在あなたが学ぶことでフレームを選択することをお勧めしますが、これらのフレームワークの私の理解に、これらのフレームワークは、最も簡単にユーザーが利用できる機械学習アルゴリズムの様々なパッケージが、根本的なアルゴリズムを理解するために学習で。したがって、学習アルゴリズムの原則のようなマシンから学ぶことができることをお勧めします。
入門コースを学ぶ最もNBのマシン:博士アンドリュー・ウ機械学習
ファイブ大規模なデータを詳細に必要なスキル
Javaアプリケーション自体はそれほどソートのビッグデータのスキルに必要な詳細、偏った方向であるため、ビッグデータ・エンジニアの方向にバイアスされています。つまり5つの部分の合計:
オフラインコンピューティングのHadoop
ストリーム・コンピューティング・ストーム
メモリー・コンピューティング・スパーク
機械学習アルゴリズム
Linuxオペレーティング基礎
Linuxの一般的なコマンド - ファイル操作
Linuxの一般的なコマンド - ユーザー管理と権限
Linuxの一般的なコマンド - システム管理
Linuxの一般的なコマンド - 無料の秘密の着陸の構成およびネットワーク管理
Linux上でインストール一般的なソフトウェア
ローカルソースのLinuxヤムヤム設定やソフトウェアのインストール
Linuxのファイアウォールの設定
高度なテキスト処理コマンドでlinuxカット、sedは、AWK
Linuxの定期的なタスクのcrontab
シェルプログラミング
シェルプログラミング - 基本的な文法
シェルプログラミング - プロセス制御
シェルプログラミング - 機能
シェルプログラミング - 統合ケース - 自動展開スクリプト
メモリー・データベースのRedis
RedisのとNoSQLのプロフィール
Redisのクライアント接続
操作やアプリケーションのRedisの文字列型のデータ構造 - オブジェクト・キャッシュ
タスクのスケジューリングキュー - リストデータ構造のRedisの操作とアプリケーションの種類
ハッシュと運転データ構造とアプリケーション例Redisのセット - ショッピングカート
SortedSetデータ構造と業務アプリケーションのRedisの - リーダーボード
分散コーディネーションサービスのZooKeeper
ZooKeeperの導入とアプリケーションのシナリオ
飼育係クラスタのインストールの展開
飼育係のデータノードとコマンドライン
飼育係Javaクライアントの基本的な操作やイベントリスナー
飼育係コア機構とデータノード
飼育係のアプリケーション - 分散共有リソースのロック
飼育係のアプリケーション - サーバー上の組立ラインオフ動的に認識へ
飼育係のデータの一貫性の原則とリーダー選挙メカニズム
Javaは、高度な機能強化します
Javaのマルチスレッドの基礎
詳細なJavaのsynchronizedキーワード
スレッドプールとオープンソースソフトウェアのJavaアプリケーションとの契約
Javaアプリケーションとの契約のニュースチームとオープンソースソフトウェア
JavaのJMSテクノロジー
Javaの動的プロキシ反射
軽量RPCフレームワークの開発
学習のRPC原則
学習のNIO原則
学ぶためネッティー共通API
軽量RPCフレームワークは、分析や原則の分析を必要とします
軽量RPCフレームワークの開発
オフラインコンピューティングのHadoop
Hadoopのクイックスタート
Hadoopの背景
分散システムの概要
オフラインデータ分析プロセスの紹介
クラスタのセットアップ
予備を使用したクラスタ
強化HDFS
HDFSの概念と機能
HDFSシェル(コマンドラインクライアント)営業
HDFS作業メカニズム
名前ノードの作業メカニズム
Java APIの動作
ケース1:シェルスクリプトのコレクションの開発
詳細のMapReduce
HadoopののRPCフレームワークをカスタマイズします
MapReduceの書き込みプログラミング仕様と例
デバッグモードとメソッドを実行しているのMapReduce
プログラムのMapReduceの動作モードの内部機構
ワークフロー操作体フレームのMapReduce
カスタム直列化メソッド定義されたオブジェクト
MapReduceのプログラミングケース
MapReduceの強化
ソートのMapReduce
カスタムパーティショナ
MapReduceの的合成
詳細な作業機構のMapReduce
MapReduceの戦闘
maptask並列メカニズム - ファイルセクション
提供maptask並列
転置インデックス
共通の友人
導入と利用フェデレーションハイブ
HAのHadoopのメカニズム
HAクラスタのインストールと展開
オフラインダイナミックデータノードのクラスタ操作およびテストのメンテナンス
スイッチ管理の名前ノードの状態のテストクラスタの運用・保守
テスト運用・保守のバランス・ブロック・クラスタ
HAは、HDFS-APIを変更します
ハイブについて
ハイブアーキテクチャ
ハイブのインストールと展開
hvie早期使用
ハイブは、機能拡張や水路を紹介します
HQL-DDL基本的な文法
HQL-DMLの基本的な文法
HIVE的に参加します
HIVEパラメータ設定
HIVEカスタム関数と変換
例としては、HIVEのHQL分析を実行します
HIVEベストプラクティスの注意事項
HIVE最適化戦略
HIVE実際のケース
水路の紹介
水路インストールの展開
ケース:HDFSにコレクションカタログ
ケース:HDFSにファイルを取り込みます
ストリーム・コンピューティング・ストーム
マスターへのエントリからの嵐
ストームとは何ですか
嵐のアーキテクチャ分析
嵐のアーキテクチャ分析
嵐のプログラミングモデル、タプルソース、同時実行性の分析
嵐WORDCOUNTケース分析と共通API
戦闘の嵐クラスタの展開
ストーム+カフカ+ Redisのビジネス指標算出
嵐のコンパイルソースコードのダウンロード
ストロムクラスタの起動とソースコード解析
嵐のジョブ送信とソースコード解析
ストームは、データフロー解析を送ります
ストーム通信機構解析
嵐のニュースソースコード解析とフォールトトレランス
ストームマルチストリームプロジェクト分析
独自のストリーミングタスク実行フレームワークを書きます
嵐の上流と下流の統合とアーキテクチャ
メッセージキューとは何ですか
Kakfaコアコンポーネント
カフカクラスタの展開と戦闘一般的なコマンド
カフカプロファイル梳綿
Kakfa JAVAAPI学習
Kafka文件存储机制分析
Redis基础及单机环境部署
Redis数据结构及典型案例
Flume快速入门
Flume+Kafka+Storm+Redis整合
内存计算Spark
scala编程
scala编程介绍
scala相关软件安装
scala基础语法
scala方法和函数
scala函数式编程特点
scala数组和集合
scala编程练习(单机版WordCount)
scala面向对象
scala模式匹配
actor编程介绍
option和偏函数
实战:actor的并发WordCount
柯里化
隐式转换
AKKA与RPC
Akka并发编程框架
实战:RPC编程实战
Spark快速入门
spark介绍
spark环境搭建
RDD简介
RDD的转换和动作
实战:RDD综合练习
RDD高级算子
自定义Partitioner
实战:网站访问次数
广播变量
实战:根据IP计算归属地
自定义排序
利用JDBC RDD实现数据导入导出
WorldCount执行流程详解
RDD详解
RDD依赖关系
RDD缓存机制
RDD的Checkpoint检查点机制
Spark任务执行过程分析
RDD的Stage划分
Spark-Sql应用
Spark-SQL
Spark结合Hive
DataFrame
实战:Spark-SQL和DataFrame案例
SparkStreaming应用实战
Spark-Streaming简介
Spark-Streaming编程
实战:StageFulWordCount
Flume结合Spark Streaming
Kafka结合Spark Streaming
窗口函数
ELK技术栈介绍
ElasticSearch安装和使用
Storm架构分析
Storm编程模型、Tuple源码、并发度分析
Storm WordCount案例及常用Api分析
Spark核心源码解析
Spark源码编译
Spark远程debug
Spark任务提交行流程源码分析
Spark通信流程源码分析
SparkContext创建过程源码分析
DriverActor和ClientActor通信过程源码分析
Worker启动Executor过程源码分析
Executor向DriverActor注册过程源码分析
Executor向Driver注册过程源码分析
DAGScheduler和TaskScheduler源码分析
Shuffle过程源码分析
Task执行过程源码分析
机器学习算法
python及numpy库
机器学习简介
机器学习与python
python语言–快速入门
python语言–数据类型详解
python语言–流程控制语句
python语言–函数使用
python语言–模块和包
phthon语言–面向对象
python机器学习算法库–numpy
机器学习必备数学知识–概率论
常用算法实现
knn分类算法–算法原理
knn分类算法–代码实现
knn分类算法–手写字识别案例
lineage回归分类算法–算法原理
lineage回归分类算法–算法实现及demo
朴素贝叶斯分类算法–算法原理
朴素贝叶斯分类算法–算法实现
朴素贝叶斯分类算法–垃圾邮件识别应用案例
kmeans聚类算法–算法原理
kmeans聚类算法–算法实现
kmeans聚类算法–地理位置聚类应用
决策树分类算法–算法原理
决策树分类算法–算法实现