0ビッグデータ開発ラーニングの基本的なアウトライン

まず、碑文

言う現在の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聚类算法–地理位置聚类应用

决策树分类算法–算法原理

决策树分类算法–算法实现

おすすめ

転載: blog.csdn.net/fdfsdrjku/article/details/92433366