diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..23646f8
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,42 @@
+*#
+*.iml
+*.ipr
+*.iws
+*.jar
+*.sw?
+*~
+.#*
+.*.md.html
+.DS_Store
+.classpath
+.factorypath
+.gradle
+.idea
+.metadata
+.project
+.recommenders
+.settings
+.springBeans
+/build
+/code
+MANIFEST.MF
+_site/
+activemq-data
+bin
+build
+build.log
+dependency-reduced-pom.xml
+dump.rdb
+interpolated*.xml
+lib/
+manifest.yml
+overridedb.*
+settings.xml
+target
+classes
+out
+transaction-logs
+.flattened-pom.xml
+secrets.yml
+.gradletasknamecache
+.sts4-cache
\ No newline at end of file
diff --git a/README.md b/README.md
index 08c8284..233e3a0 100644
--- a/README.md
+++ b/README.md
@@ -6,7 +6,7 @@
-> 大数据常用技术栈学习之路 — — 持续更新中
+> Java 程序员的大数据学习之路 — — 持续更新中
@@ -16,6 +16,7 @@
 |
 |
 |
+  |
 |
 |
 |
@@ -30,20 +31,22 @@
Hive |
Spark |
Flink |
- Flume |
- Oozie |
- Sqoop |
- Azkaban |
- Hbase |
- Kafka |
- Zookeeper |
- Scala |
+ storm |
+ Flume |
+ Oozie |
+ Sqoop |
+ Azkaban |
+ Hbase |
+ Kafka |
+ Zookeeper |
+ Scala |
-> 本仓库涉及的所有软件的详细搭建步骤整理至:[linux下大数据常用软件安装指南](https://github.com/heibaiying/BigData-Notes/blob/master/notes/linux下大数据常用软件安装指南.md)
+
+> 本仓库涉及的所有软件的详细搭建步骤整理至:[Linux下大数据常用软件安装指南](https://github.com/heibaiying/BigData-Notes/blob/master/notes/Linux下大数据常用软件安装指南.md)
@@ -55,17 +58,24 @@
## 二、Hive
-1. [数据仓库——Hive](https://github.com/heibaiying/BigData-Notes/blob/master/notes/Hive.md)
+1. [数据仓库Hive](https://github.com/heibaiying/BigData-Notes/blob/master/notes/Hive.md)
## 三、Spark
+1. RDD详解
+2. Spark Transformation 和 Action
+
## 四、Flink
-## 五、Flume
-## 六、Oozie
-## 七、Sqoop
-## 八、Azkaban
-## 九、Hbase
-## 十、Kafka
-## 十一、Zookeeper
-## 十二、Scala
+## 五、Storm
+
+1. [storm核心概念详解](https://github.com/heibaiying/BigData-Notes/blob/master/notes/Storm核心概念详解.md)
+
+## 六、Flume
+## 七、Oozie
+## 八、Sqoop
+## 九、Azkaban
+## 十、Hbase
+## 十一、Kafka
+## 十二、Zookeeper
+## 十三、Scala
diff --git a/notes/RDD详解.md b/notes/RDD详解.md
new file mode 100644
index 0000000..e69de29
diff --git a/notes/Storm核心概念详解.md b/notes/Storm核心概念详解.md
new file mode 100644
index 0000000..ba71fe8
--- /dev/null
+++ b/notes/Storm核心概念详解.md
@@ -0,0 +1,268 @@
+# storm 核心概念核心概念详解
+
+
+## 一、storm核心概念
+
+
+
+### 1.1 Topologies(拓扑)
+
+Storm应用程序的逻辑被封装在 Storm topology(拓扑)中,一个拓扑是 Spout 和 Bolt 通过 stream groupings 连接起来的有向无环图,Storm会一直保持Topologies运行,直到你将其杀死(kill)为止。
+
+### 1.2 Streams(流)
+
+stream 是 Storm 中的核心概念,一个 stream 是一个无界的、以分布式方式并行创建和处理的 Tuple 序列。
+
+默认情况下 Tuple 可以包含 integers, longs, shorts, bytes, strings, doubles, floats, booleans, and byte arrays 等数据类型,当然你也可以实现自己的自定义类型。
+
+### 1.3 Spouts
+
+Spout 是一个 topology(拓扑)中 stream的源头, 通常 Spout 会从外部数据源读取 Tuple。
+
+Spout分为 **可靠** 和**不可靠**两种,可靠的 Spout 在 Storm 处理失败的时候能够重新发送 Tuple, 不可靠的 Spout一旦把Tuple 发送出去就不管了。
+
+Spout 可以向不止一个流中发送数据,可以使用`OutputFieldsDeclare` 的 declareStream 方法定义多个流,并在 `SpoutOutputCollector`对象的 emit 方法中指定要发送到的stream 。
+
+```java
+public class SpoutOutputCollector implements ISpoutOutputCollector {
+ ISpoutOutputCollector _delegate;
+
+ ...
+
+ public List emit(String streamId, List