├── README.md
└── apache-storm-0.9.4
├── .gitignore
├── BYLAWS.md
├── CHANGELOG.md
├── DEVELOPER.md
├── DISCLAIMER
├── KEYS
├── LICENSE
├── NOTICE
├── README.markdown
├── SECURITY.md
├── STORM-UI-REST-API.md
├── TODO
├── VERSION
├── bin
├── storm
├── storm-config.cmd
└── storm.cmd
├── conf
├── defaults.yaml
├── jaas_digest.conf
├── logback.xml
├── storm.yaml.example
└── storm_env.ini
├── dev-tools
├── github
│ └── __init__.py
├── jira-github-join.py
└── jira
│ └── __init__.py
├── examples
└── storm-starter
│ ├── README.markdown
│ ├── multilang
│ └── resources
│ │ ├── asyncSplitsentence.js
│ │ ├── randomsentence.js
│ │ ├── splitsentence.js
│ │ ├── splitsentence.py
│ │ ├── splitsentence.rb
│ │ ├── storm.js
│ │ ├── storm.py
│ │ └── storm.rb
│ ├── pom.xml
│ ├── src
│ ├── clj
│ │ └── storm
│ │ │ └── starter
│ │ │ └── clj
│ │ │ └── word_count.clj
│ └── jvm
│ │ └── storm
│ │ └── starter
│ │ ├── BasicDRPCTopology.java
│ │ ├── ExclamationTopology.java
│ │ ├── ManualDRPC.java
│ │ ├── PrintSampleStream.java
│ │ ├── ReachTopology.java
│ │ ├── RollingTopWords.java
│ │ ├── SingleJoinExample.java
│ │ ├── TransactionalGlobalCount.java
│ │ ├── TransactionalWords.java
│ │ ├── WordCountTopology.java
│ │ ├── WordCountTopologyNode.java
│ │ ├── bolt
│ │ ├── AbstractRankerBolt.java
│ │ ├── IntermediateRankingsBolt.java
│ │ ├── PrinterBolt.java
│ │ ├── RollingCountBolt.java
│ │ ├── SingleJoinBolt.java
│ │ └── TotalRankingsBolt.java
│ │ ├── spout
│ │ ├── RandomSentenceSpout.java
│ │ └── TwitterSampleSpout.java
│ │ ├── tools
│ │ ├── NthLastModifiedTimeTracker.java
│ │ ├── Rankable.java
│ │ ├── RankableObjectWithFields.java
│ │ ├── Rankings.java
│ │ ├── SlidingWindowCounter.java
│ │ └── SlotBasedCounter.java
│ │ ├── trident
│ │ ├── TridentReach.java
│ │ └── TridentWordCount.java
│ │ └── util
│ │ ├── StormRunner.java
│ │ └── TupleHelpers.java
│ └── test
│ └── jvm
│ └── storm
│ └── starter
│ ├── bolt
│ ├── IntermediateRankingsBoltTest.java
│ ├── RollingCountBoltTest.java
│ └── TotalRankingsBoltTest.java
│ └── tools
│ ├── MockTupleHelpers.java
│ ├── NthLastModifiedTimeTrackerTest.java
│ ├── RankableObjectWithFieldsTest.java
│ ├── RankingsTest.java
│ ├── SlidingWindowCounterTest.java
│ └── SlotBasedCounterTest.java
├── external
├── storm-hbase
│ ├── LICENSE
│ ├── README.md
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ └── java
│ │ │ └── org
│ │ │ └── apache
│ │ │ └── storm
│ │ │ └── hbase
│ │ │ ├── bolt
│ │ │ ├── AbstractHBaseBolt.java
│ │ │ ├── HBaseBolt.java
│ │ │ ├── HBaseLookupBolt.java
│ │ │ └── mapper
│ │ │ │ ├── HBaseMapper.java
│ │ │ │ ├── HBaseProjectionCriteria.java
│ │ │ │ ├── HBaseValueMapper.java
│ │ │ │ └── SimpleHBaseMapper.java
│ │ │ ├── common
│ │ │ ├── ColumnList.java
│ │ │ ├── HBaseClient.java
│ │ │ ├── IColumn.java
│ │ │ ├── ICounter.java
│ │ │ └── Utils.java
│ │ │ ├── security
│ │ │ └── HBaseSecurityUtil.java
│ │ │ └── trident
│ │ │ ├── mapper
│ │ │ ├── SimpleTridentHBaseMapper.java
│ │ │ └── TridentHBaseMapper.java
│ │ │ └── state
│ │ │ ├── HBaseMapState.java
│ │ │ ├── HBaseQuery.java
│ │ │ ├── HBaseState.java
│ │ │ ├── HBaseStateFactory.java
│ │ │ └── HBaseUpdater.java
│ │ └── test
│ │ └── java
│ │ └── org
│ │ └── apache
│ │ └── storm
│ │ └── hbase
│ │ ├── topology
│ │ ├── LookupWordCount.java
│ │ ├── PersistentWordCount.java
│ │ ├── TotalWordCounter.java
│ │ ├── WordCountClient.java
│ │ ├── WordCountValueMapper.java
│ │ ├── WordCounter.java
│ │ └── WordSpout.java
│ │ └── trident
│ │ ├── PrintFunction.java
│ │ └── WordCountTrident.java
├── storm-hdfs
│ ├── README.md
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ └── java
│ │ │ └── org
│ │ │ └── apache
│ │ │ └── storm
│ │ │ └── hdfs
│ │ │ ├── bolt
│ │ │ ├── AbstractHdfsBolt.java
│ │ │ ├── HdfsBolt.java
│ │ │ ├── SequenceFileBolt.java
│ │ │ ├── format
│ │ │ │ ├── DefaultFileNameFormat.java
│ │ │ │ ├── DefaultSequenceFormat.java
│ │ │ │ ├── DelimitedRecordFormat.java
│ │ │ │ ├── FileNameFormat.java
│ │ │ │ ├── RecordFormat.java
│ │ │ │ └── SequenceFormat.java
│ │ │ ├── rotation
│ │ │ │ ├── FileRotationPolicy.java
│ │ │ │ ├── FileSizeRotationPolicy.java
│ │ │ │ ├── NoRotationPolicy.java
│ │ │ │ └── TimedRotationPolicy.java
│ │ │ └── sync
│ │ │ │ ├── CountSyncPolicy.java
│ │ │ │ └── SyncPolicy.java
│ │ │ ├── common
│ │ │ ├── rotation
│ │ │ │ ├── MoveFileAction.java
│ │ │ │ └── RotationAction.java
│ │ │ └── security
│ │ │ │ └── HdfsSecurityUtil.java
│ │ │ └── trident
│ │ │ ├── HdfsState.java
│ │ │ ├── HdfsStateFactory.java
│ │ │ ├── HdfsUpdater.java
│ │ │ ├── format
│ │ │ ├── DefaultFileNameFormat.java
│ │ │ ├── DefaultSequenceFormat.java
│ │ │ ├── DelimitedRecordFormat.java
│ │ │ ├── FileNameFormat.java
│ │ │ ├── RecordFormat.java
│ │ │ └── SequenceFormat.java
│ │ │ ├── rotation
│ │ │ ├── FileRotationPolicy.java
│ │ │ ├── FileSizeRotationPolicy.java
│ │ │ ├── NoRotationPolicy.java
│ │ │ └── TimedRotationPolicy.java
│ │ │ └── sync
│ │ │ ├── CountSyncPolicy.java
│ │ │ └── SyncPolicy.java
│ │ └── test
│ │ └── java
│ │ └── org
│ │ └── apache
│ │ └── storm
│ │ └── hdfs
│ │ ├── bolt
│ │ ├── HdfsFileTopology.java
│ │ └── SequenceFileTopology.java
│ │ └── trident
│ │ ├── FixedBatchSpout.java
│ │ ├── TridentFileTopology.java
│ │ └── TridentSequenceTopology.java
└── storm-kafka
│ ├── CHANGELOG.md
│ ├── README.md
│ ├── pom.xml
│ └── src
│ ├── jvm
│ └── storm
│ │ └── kafka
│ │ ├── Broker.java
│ │ ├── BrokerHosts.java
│ │ ├── DynamicBrokersReader.java
│ │ ├── DynamicPartitionConnections.java
│ │ ├── FailedFetchException.java
│ │ ├── KafkaConfig.java
│ │ ├── KafkaError.java
│ │ ├── KafkaSpout.java
│ │ ├── KafkaUtils.java
│ │ ├── KeyValueScheme.java
│ │ ├── KeyValueSchemeAsMultiScheme.java
│ │ ├── Partition.java
│ │ ├── PartitionCoordinator.java
│ │ ├── PartitionManager.java
│ │ ├── SpoutConfig.java
│ │ ├── StaticCoordinator.java
│ │ ├── StaticHosts.java
│ │ ├── StaticPartitionConnections.java
│ │ ├── StringKeyValueScheme.java
│ │ ├── StringScheme.java
│ │ ├── UpdateOffsetException.java
│ │ ├── ZkCoordinator.java
│ │ ├── ZkHosts.java
│ │ ├── ZkState.java
│ │ ├── bolt
│ │ ├── KafkaBolt.java
│ │ ├── mapper
│ │ │ ├── FieldNameBasedTupleToKafkaMapper.java
│ │ │ └── TupleToKafkaMapper.java
│ │ └── selector
│ │ │ ├── DefaultTopicSelector.java
│ │ │ └── KafkaTopicSelector.java
│ │ └── trident
│ │ ├── Coordinator.java
│ │ ├── DefaultCoordinator.java
│ │ ├── GlobalPartitionInformation.java
│ │ ├── IBatchCoordinator.java
│ │ ├── IBrokerReader.java
│ │ ├── MaxMetric.java
│ │ ├── OpaqueTridentKafkaSpout.java
│ │ ├── StaticBrokerReader.java
│ │ ├── TransactionalTridentKafkaSpout.java
│ │ ├── TridentKafkaConfig.java
│ │ ├── TridentKafkaEmitter.java
│ │ ├── TridentKafkaState.java
│ │ ├── TridentKafkaStateFactory.java
│ │ ├── TridentKafkaUpdater.java
│ │ ├── ZkBrokerReader.java
│ │ ├── mapper
│ │ ├── FieldNameBasedTupleToKafkaMapper.java
│ │ └── TridentTupleToKafkaMapper.java
│ │ └── selector
│ │ ├── DefaultTopicSelector.java
│ │ └── KafkaTopicSelector.java
│ └── test
│ └── storm
│ └── kafka
│ ├── DynamicBrokersReaderTest.java
│ ├── KafkaErrorTest.java
│ ├── KafkaTestBroker.java
│ ├── KafkaUtilsTest.java
│ ├── StringKeyValueSchemeTest.java
│ ├── TestUtils.java
│ ├── TridentKafkaTest.java
│ ├── TridentKafkaTopology.java
│ ├── ZkCoordinatorTest.java
│ └── bolt
│ └── KafkaBoltTest.java
├── logback
└── cluster.xml
├── pom.xml
├── storm-buildtools
└── maven-shade-clojure-transformer
│ ├── pom.xml
│ └── src
│ └── main
│ └── java
│ └── org
│ └── apache
│ └── storm
│ └── maven
│ └── shade
│ └── clojure
│ └── ClojureTransformer.java
├── storm-core
├── dependency-reduced-pom.xml
├── pom.xml
├── src
│ ├── clj
│ │ ├── backtype
│ │ │ └── storm
│ │ │ │ ├── LocalCluster.clj
│ │ │ │ ├── LocalDRPC.clj
│ │ │ │ ├── bootstrap.clj
│ │ │ │ ├── clojure.clj
│ │ │ │ ├── cluster.clj
│ │ │ │ ├── command
│ │ │ │ ├── activate.clj
│ │ │ │ ├── config_value.clj
│ │ │ │ ├── deactivate.clj
│ │ │ │ ├── dev_zookeeper.clj
│ │ │ │ ├── kill_topology.clj
│ │ │ │ ├── list.clj
│ │ │ │ ├── monitor.clj
│ │ │ │ ├── rebalance.clj
│ │ │ │ └── shell_submission.clj
│ │ │ │ ├── config.clj
│ │ │ │ ├── daemon
│ │ │ │ ├── acker.clj
│ │ │ │ ├── builtin_metrics.clj
│ │ │ │ ├── common.clj
│ │ │ │ ├── drpc.clj
│ │ │ │ ├── executor.clj
│ │ │ │ ├── logviewer.clj
│ │ │ │ ├── nimbus.clj
│ │ │ │ ├── supervisor.clj
│ │ │ │ ├── task.clj
│ │ │ │ └── worker.clj
│ │ │ │ ├── disruptor.clj
│ │ │ │ ├── event.clj
│ │ │ │ ├── log.clj
│ │ │ │ ├── messaging
│ │ │ │ ├── loader.clj
│ │ │ │ └── local.clj
│ │ │ │ ├── metric
│ │ │ │ └── testing.clj
│ │ │ │ ├── process_simulator.clj
│ │ │ │ ├── scheduler
│ │ │ │ ├── DefaultScheduler.clj
│ │ │ │ ├── EvenScheduler.clj
│ │ │ │ └── IsolationScheduler.clj
│ │ │ │ ├── stats.clj
│ │ │ │ ├── testing.clj
│ │ │ │ ├── testing4j.clj
│ │ │ │ ├── thrift.clj
│ │ │ │ ├── timer.clj
│ │ │ │ ├── tuple.clj
│ │ │ │ ├── ui
│ │ │ │ ├── core.clj
│ │ │ │ └── helpers.clj
│ │ │ │ ├── util.clj
│ │ │ │ └── zookeeper.clj
│ │ └── storm
│ │ │ └── trident
│ │ │ └── testing.clj
│ ├── dev
│ │ └── resources
│ │ │ ├── storm.js
│ │ │ ├── storm.py
│ │ │ ├── storm.rb
│ │ │ ├── tester_bolt.js
│ │ │ ├── tester_bolt.py
│ │ │ ├── tester_bolt.rb
│ │ │ ├── tester_bolt_metrics.py
│ │ │ ├── tester_spout.js
│ │ │ ├── tester_spout.py
│ │ │ ├── tester_spout.rb
│ │ │ └── tester_spout_metrics.py
│ ├── genthrift.sh
│ ├── jvm
│ │ ├── backtype
│ │ │ └── storm
│ │ │ │ ├── Config.java
│ │ │ │ ├── ConfigValidation.java
│ │ │ │ ├── Constants.java
│ │ │ │ ├── ILocalCluster.java
│ │ │ │ ├── ILocalDRPC.java
│ │ │ │ ├── StormSubmitter.java
│ │ │ │ ├── clojure
│ │ │ │ ├── ClojureBolt.java
│ │ │ │ ├── ClojureSpout.java
│ │ │ │ ├── RichShellBolt.java
│ │ │ │ └── RichShellSpout.java
│ │ │ │ ├── coordination
│ │ │ │ ├── BatchBoltExecutor.java
│ │ │ │ ├── BatchOutputCollector.java
│ │ │ │ ├── BatchOutputCollectorImpl.java
│ │ │ │ ├── BatchSubtopologyBuilder.java
│ │ │ │ ├── CoordinatedBolt.java
│ │ │ │ └── IBatchBolt.java
│ │ │ │ ├── daemon
│ │ │ │ └── Shutdownable.java
│ │ │ │ ├── drpc
│ │ │ │ ├── DRPCInvocationsClient.java
│ │ │ │ ├── DRPCSpout.java
│ │ │ │ ├── JoinResult.java
│ │ │ │ ├── KeyedFairBolt.java
│ │ │ │ ├── LinearDRPCInputDeclarer.java
│ │ │ │ ├── LinearDRPCTopologyBuilder.java
│ │ │ │ ├── PrepareRequest.java
│ │ │ │ └── ReturnResults.java
│ │ │ │ ├── generated
│ │ │ │ ├── AlreadyAliveException.java
│ │ │ │ ├── Bolt.java
│ │ │ │ ├── BoltStats.java
│ │ │ │ ├── ClusterSummary.java
│ │ │ │ ├── ComponentCommon.java
│ │ │ │ ├── ComponentObject.java
│ │ │ │ ├── DRPCExecutionException.java
│ │ │ │ ├── DRPCRequest.java
│ │ │ │ ├── DistributedRPC.java
│ │ │ │ ├── DistributedRPCInvocations.java
│ │ │ │ ├── ErrorInfo.java
│ │ │ │ ├── ExecutorInfo.java
│ │ │ │ ├── ExecutorSpecificStats.java
│ │ │ │ ├── ExecutorStats.java
│ │ │ │ ├── ExecutorSummary.java
│ │ │ │ ├── GlobalStreamId.java
│ │ │ │ ├── Grouping.java
│ │ │ │ ├── InvalidTopologyException.java
│ │ │ │ ├── JavaObject.java
│ │ │ │ ├── JavaObjectArg.java
│ │ │ │ ├── KillOptions.java
│ │ │ │ ├── Nimbus.java
│ │ │ │ ├── NotAliveException.java
│ │ │ │ ├── NullStruct.java
│ │ │ │ ├── RebalanceOptions.java
│ │ │ │ ├── ShellComponent.java
│ │ │ │ ├── SpoutSpec.java
│ │ │ │ ├── SpoutStats.java
│ │ │ │ ├── StateSpoutSpec.java
│ │ │ │ ├── StormTopology.java
│ │ │ │ ├── StreamInfo.java
│ │ │ │ ├── SubmitOptions.java
│ │ │ │ ├── SupervisorSummary.java
│ │ │ │ ├── TopologyInfo.java
│ │ │ │ ├── TopologyInitialStatus.java
│ │ │ │ └── TopologySummary.java
│ │ │ │ ├── grouping
│ │ │ │ └── CustomStreamGrouping.java
│ │ │ │ ├── hooks
│ │ │ │ ├── BaseTaskHook.java
│ │ │ │ ├── ITaskHook.java
│ │ │ │ └── info
│ │ │ │ │ ├── BoltAckInfo.java
│ │ │ │ │ ├── BoltExecuteInfo.java
│ │ │ │ │ ├── BoltFailInfo.java
│ │ │ │ │ ├── EmitInfo.java
│ │ │ │ │ ├── SpoutAckInfo.java
│ │ │ │ │ └── SpoutFailInfo.java
│ │ │ │ ├── messaging
│ │ │ │ ├── ConnectionWithStatus.java
│ │ │ │ ├── IConnection.java
│ │ │ │ ├── IContext.java
│ │ │ │ ├── TaskMessage.java
│ │ │ │ ├── TransportFactory.java
│ │ │ │ └── netty
│ │ │ │ │ ├── Client.java
│ │ │ │ │ ├── Context.java
│ │ │ │ │ ├── ControlMessage.java
│ │ │ │ │ ├── MessageBatch.java
│ │ │ │ │ ├── MessageDecoder.java
│ │ │ │ │ ├── MessageEncoder.java
│ │ │ │ │ ├── NettyRenameThreadFactory.java
│ │ │ │ │ ├── Server.java
│ │ │ │ │ ├── StormClientErrorHandler.java
│ │ │ │ │ ├── StormClientPipelineFactory.java
│ │ │ │ │ ├── StormServerHandler.java
│ │ │ │ │ └── StormServerPipelineFactory.java
│ │ │ │ ├── metric
│ │ │ │ ├── LoggingMetricsConsumer.java
│ │ │ │ ├── MetricsConsumerBolt.java
│ │ │ │ ├── SystemBolt.java
│ │ │ │ └── api
│ │ │ │ │ ├── AssignableMetric.java
│ │ │ │ │ ├── CombinedMetric.java
│ │ │ │ │ ├── CountMetric.java
│ │ │ │ │ ├── ICombiner.java
│ │ │ │ │ ├── IMetric.java
│ │ │ │ │ ├── IMetricsConsumer.java
│ │ │ │ │ ├── IReducer.java
│ │ │ │ │ ├── IStatefulObject.java
│ │ │ │ │ ├── MeanReducer.java
│ │ │ │ │ ├── MultiCountMetric.java
│ │ │ │ │ ├── MultiReducedMetric.java
│ │ │ │ │ ├── ReducedMetric.java
│ │ │ │ │ ├── StateMetric.java
│ │ │ │ │ └── rpc
│ │ │ │ │ ├── AssignableShellMetric.java
│ │ │ │ │ ├── CombinedShellMetric.java
│ │ │ │ │ ├── CountShellMetric.java
│ │ │ │ │ ├── IShellMetric.java
│ │ │ │ │ └── ReducedShellMetric.java
│ │ │ │ ├── multilang
│ │ │ │ ├── BoltMsg.java
│ │ │ │ ├── ISerializer.java
│ │ │ │ ├── JsonSerializer.java
│ │ │ │ ├── NoOutputException.java
│ │ │ │ ├── ShellMsg.java
│ │ │ │ └── SpoutMsg.java
│ │ │ │ ├── nimbus
│ │ │ │ ├── DefaultTopologyValidator.java
│ │ │ │ └── ITopologyValidator.java
│ │ │ │ ├── planner
│ │ │ │ ├── CompoundSpout.java
│ │ │ │ ├── CompoundTask.java
│ │ │ │ └── TaskBundle.java
│ │ │ │ ├── scheduler
│ │ │ │ ├── Cluster.java
│ │ │ │ ├── ExecutorDetails.java
│ │ │ │ ├── INimbus.java
│ │ │ │ ├── IScheduler.java
│ │ │ │ ├── ISupervisor.java
│ │ │ │ ├── SchedulerAssignment.java
│ │ │ │ ├── SchedulerAssignmentImpl.java
│ │ │ │ ├── SupervisorDetails.java
│ │ │ │ ├── Topologies.java
│ │ │ │ ├── TopologyDetails.java
│ │ │ │ └── WorkerSlot.java
│ │ │ │ ├── security
│ │ │ │ ├── auth
│ │ │ │ │ ├── AuthUtils.java
│ │ │ │ │ ├── IAuthorizer.java
│ │ │ │ │ ├── ITransportPlugin.java
│ │ │ │ │ ├── ReqContext.java
│ │ │ │ │ ├── SaslTransportPlugin.java
│ │ │ │ │ ├── SimpleTransportPlugin.java
│ │ │ │ │ ├── ThriftClient.java
│ │ │ │ │ ├── ThriftServer.java
│ │ │ │ │ ├── authorizer
│ │ │ │ │ │ ├── DenyAuthorizer.java
│ │ │ │ │ │ └── NoopAuthorizer.java
│ │ │ │ │ └── digest
│ │ │ │ │ │ ├── ClientCallbackHandler.java
│ │ │ │ │ │ ├── DigestSaslTransportPlugin.java
│ │ │ │ │ │ └── ServerCallbackHandler.java
│ │ │ │ └── serialization
│ │ │ │ │ └── BlowfishTupleSerializer.java
│ │ │ │ ├── serialization
│ │ │ │ ├── DefaultKryoFactory.java
│ │ │ │ ├── DefaultSerializationDelegate.java
│ │ │ │ ├── GzipBridgeSerializationDelegate.java
│ │ │ │ ├── GzipSerializationDelegate.java
│ │ │ │ ├── IKryoDecorator.java
│ │ │ │ ├── IKryoFactory.java
│ │ │ │ ├── ITupleDeserializer.java
│ │ │ │ ├── ITupleSerializer.java
│ │ │ │ ├── KryoTupleDeserializer.java
│ │ │ │ ├── KryoTupleSerializer.java
│ │ │ │ ├── KryoValuesDeserializer.java
│ │ │ │ ├── KryoValuesSerializer.java
│ │ │ │ ├── SerializableSerializer.java
│ │ │ │ ├── SerializationDelegate.java
│ │ │ │ ├── SerializationFactory.java
│ │ │ │ └── types
│ │ │ │ │ ├── ArrayListSerializer.java
│ │ │ │ │ ├── HashMapSerializer.java
│ │ │ │ │ ├── HashSetSerializer.java
│ │ │ │ │ └── ListDelegateSerializer.java
│ │ │ │ ├── spout
│ │ │ │ ├── IMultiSchemableSpout.java
│ │ │ │ ├── ISchemableSpout.java
│ │ │ │ ├── ISpout.java
│ │ │ │ ├── ISpoutOutputCollector.java
│ │ │ │ ├── ISpoutWaitStrategy.java
│ │ │ │ ├── MultiScheme.java
│ │ │ │ ├── NothingEmptyEmitStrategy.java
│ │ │ │ ├── RawMultiScheme.java
│ │ │ │ ├── RawScheme.java
│ │ │ │ ├── Scheme.java
│ │ │ │ ├── SchemeAsMultiScheme.java
│ │ │ │ ├── ShellSpout.java
│ │ │ │ ├── SleepSpoutWaitStrategy.java
│ │ │ │ └── SpoutOutputCollector.java
│ │ │ │ ├── state
│ │ │ │ ├── IStateSpout.java
│ │ │ │ ├── IStateSpoutOutputCollector.java
│ │ │ │ ├── ISubscribedState.java
│ │ │ │ ├── ISynchronizeOutputCollector.java
│ │ │ │ ├── StateSpoutOutputCollector.java
│ │ │ │ └── SynchronizeOutputCollector.java
│ │ │ │ ├── task
│ │ │ │ ├── GeneralTopologyContext.java
│ │ │ │ ├── IBolt.java
│ │ │ │ ├── IErrorReporter.java
│ │ │ │ ├── IMetricsContext.java
│ │ │ │ ├── IOutputCollector.java
│ │ │ │ ├── OutputCollector.java
│ │ │ │ ├── ShellBolt.java
│ │ │ │ ├── TopologyContext.java
│ │ │ │ └── WorkerTopologyContext.java
│ │ │ │ ├── testing
│ │ │ │ ├── AckFailDelegate.java
│ │ │ │ ├── AckFailMapTracker.java
│ │ │ │ ├── AckTracker.java
│ │ │ │ ├── BatchNumberList.java
│ │ │ │ ├── BatchProcessWord.java
│ │ │ │ ├── BatchRepeatA.java
│ │ │ │ ├── BoltTracker.java
│ │ │ │ ├── CompleteTopologyParam.java
│ │ │ │ ├── CountingBatchBolt.java
│ │ │ │ ├── CountingCommitBolt.java
│ │ │ │ ├── FeederSpout.java
│ │ │ │ ├── FixedTuple.java
│ │ │ │ ├── FixedTupleSpout.java
│ │ │ │ ├── IdentityBolt.java
│ │ │ │ ├── KeyedCountingBatchBolt.java
│ │ │ │ ├── KeyedCountingCommitterBolt.java
│ │ │ │ ├── KeyedSummingBatchBolt.java
│ │ │ │ ├── MemoryTransactionalSpout.java
│ │ │ │ ├── MemoryTransactionalSpoutMeta.java
│ │ │ │ ├── MkClusterParam.java
│ │ │ │ ├── MkTupleParam.java
│ │ │ │ ├── MockedSources.java
│ │ │ │ ├── NGrouping.java
│ │ │ │ ├── NonRichBoltTracker.java
│ │ │ │ ├── OpaqueMemoryTransactionalSpout.java
│ │ │ │ ├── PrepareBatchBolt.java
│ │ │ │ ├── PythonShellMetricsBolt.java
│ │ │ │ ├── PythonShellMetricsSpout.java
│ │ │ │ ├── SpoutTracker.java
│ │ │ │ ├── TestAggregatesCounter.java
│ │ │ │ ├── TestConfBolt.java
│ │ │ │ ├── TestEventLogSpout.java
│ │ │ │ ├── TestEventOrderCheckBolt.java
│ │ │ │ ├── TestGlobalCount.java
│ │ │ │ ├── TestJob.java
│ │ │ │ ├── TestKryoDecorator.java
│ │ │ │ ├── TestPlannerBolt.java
│ │ │ │ ├── TestPlannerSpout.java
│ │ │ │ ├── TestSerObject.java
│ │ │ │ ├── TestWordCounter.java
│ │ │ │ ├── TestWordSpout.java
│ │ │ │ ├── TrackedTopology.java
│ │ │ │ └── TupleCaptureBolt.java
│ │ │ │ ├── topology
│ │ │ │ ├── BaseConfigurationDeclarer.java
│ │ │ │ ├── BasicBoltExecutor.java
│ │ │ │ ├── BasicOutputCollector.java
│ │ │ │ ├── BoltDeclarer.java
│ │ │ │ ├── ComponentConfigurationDeclarer.java
│ │ │ │ ├── FailedException.java
│ │ │ │ ├── IBasicBolt.java
│ │ │ │ ├── IBasicOutputCollector.java
│ │ │ │ ├── IComponent.java
│ │ │ │ ├── IRichBolt.java
│ │ │ │ ├── IRichSpout.java
│ │ │ │ ├── IRichStateSpout.java
│ │ │ │ ├── InputDeclarer.java
│ │ │ │ ├── OutputFieldsDeclarer.java
│ │ │ │ ├── OutputFieldsGetter.java
│ │ │ │ ├── ReportedFailedException.java
│ │ │ │ ├── SpoutDeclarer.java
│ │ │ │ ├── TopologyBuilder.java
│ │ │ │ └── base
│ │ │ │ │ ├── BaseBasicBolt.java
│ │ │ │ │ ├── BaseBatchBolt.java
│ │ │ │ │ ├── BaseComponent.java
│ │ │ │ │ ├── BaseOpaquePartitionedTransactionalSpout.java
│ │ │ │ │ ├── BasePartitionedTransactionalSpout.java
│ │ │ │ │ ├── BaseRichBolt.java
│ │ │ │ │ ├── BaseRichSpout.java
│ │ │ │ │ ├── BaseTransactionalBolt.java
│ │ │ │ │ └── BaseTransactionalSpout.java
│ │ │ │ ├── transactional
│ │ │ │ ├── ICommitter.java
│ │ │ │ ├── ICommitterTransactionalSpout.java
│ │ │ │ ├── ITransactionalSpout.java
│ │ │ │ ├── TransactionAttempt.java
│ │ │ │ ├── TransactionalSpoutBatchExecutor.java
│ │ │ │ ├── TransactionalSpoutCoordinator.java
│ │ │ │ ├── TransactionalTopologyBuilder.java
│ │ │ │ ├── partitioned
│ │ │ │ │ ├── IOpaquePartitionedTransactionalSpout.java
│ │ │ │ │ ├── IPartitionedTransactionalSpout.java
│ │ │ │ │ ├── OpaquePartitionedTransactionalSpoutExecutor.java
│ │ │ │ │ └── PartitionedTransactionalSpoutExecutor.java
│ │ │ │ └── state
│ │ │ │ │ ├── RotatingTransactionalState.java
│ │ │ │ │ └── TransactionalState.java
│ │ │ │ ├── tuple
│ │ │ │ ├── Fields.java
│ │ │ │ ├── ITuple.java
│ │ │ │ ├── MessageId.java
│ │ │ │ ├── Tuple.java
│ │ │ │ ├── TupleImpl.java
│ │ │ │ └── Values.java
│ │ │ │ ├── ui
│ │ │ │ └── InvalidRequestException.java
│ │ │ │ └── utils
│ │ │ │ ├── BufferFileInputStream.java
│ │ │ │ ├── CRC32OutputStream.java
│ │ │ │ ├── ClojureTimerTask.java
│ │ │ │ ├── Container.java
│ │ │ │ ├── DRPCClient.java
│ │ │ │ ├── DisruptorQueue.java
│ │ │ │ ├── IndifferentAccessMap.java
│ │ │ │ ├── InprocMessaging.java
│ │ │ │ ├── KeyedRoundRobinQueue.java
│ │ │ │ ├── ListDelegate.java
│ │ │ │ ├── LocalState.java
│ │ │ │ ├── Monitor.java
│ │ │ │ ├── MutableInt.java
│ │ │ │ ├── MutableLong.java
│ │ │ │ ├── MutableObject.java
│ │ │ │ ├── NimbusClient.java
│ │ │ │ ├── RegisteredGlobalState.java
│ │ │ │ ├── RotatingMap.java
│ │ │ │ ├── ServiceRegistry.java
│ │ │ │ ├── ShellProcess.java
│ │ │ │ ├── StormBoundedExponentialBackoffRetry.java
│ │ │ │ ├── ThriftTopologyUtils.java
│ │ │ │ ├── Time.java
│ │ │ │ ├── TimeCacheMap.java
│ │ │ │ ├── TransferDrainer.java
│ │ │ │ ├── Utils.java
│ │ │ │ ├── VersionedStore.java
│ │ │ │ ├── WindowedTimeThrottler.java
│ │ │ │ ├── WritableUtils.java
│ │ │ │ └── ZookeeperAuthInfo.java
│ │ └── storm
│ │ │ └── trident
│ │ │ ├── JoinType.java
│ │ │ ├── Stream.java
│ │ │ ├── TridentState.java
│ │ │ ├── TridentTopology.java
│ │ │ ├── drpc
│ │ │ └── ReturnResultsReducer.java
│ │ │ ├── fluent
│ │ │ ├── ChainedAggregatorDeclarer.java
│ │ │ ├── ChainedFullAggregatorDeclarer.java
│ │ │ ├── ChainedPartitionAggregatorDeclarer.java
│ │ │ ├── GlobalAggregationScheme.java
│ │ │ ├── GroupedStream.java
│ │ │ ├── IAggregatableStream.java
│ │ │ ├── IChainedAggregatorDeclarer.java
│ │ │ └── UniqueIdGen.java
│ │ │ ├── graph
│ │ │ ├── GraphGrouper.java
│ │ │ └── Group.java
│ │ │ ├── operation
│ │ │ ├── Aggregator.java
│ │ │ ├── Assembly.java
│ │ │ ├── BaseAggregator.java
│ │ │ ├── BaseFilter.java
│ │ │ ├── BaseFunction.java
│ │ │ ├── BaseMultiReducer.java
│ │ │ ├── BaseOperation.java
│ │ │ ├── CombinerAggregator.java
│ │ │ ├── EachOperation.java
│ │ │ ├── Filter.java
│ │ │ ├── Function.java
│ │ │ ├── GroupedMultiReducer.java
│ │ │ ├── MultiReducer.java
│ │ │ ├── Operation.java
│ │ │ ├── ReducerAggregator.java
│ │ │ ├── TridentCollector.java
│ │ │ ├── TridentMultiReducerContext.java
│ │ │ ├── TridentOperationContext.java
│ │ │ ├── builtin
│ │ │ │ ├── Count.java
│ │ │ │ ├── Debug.java
│ │ │ │ ├── Equals.java
│ │ │ │ ├── FilterNull.java
│ │ │ │ ├── FirstN.java
│ │ │ │ ├── MapGet.java
│ │ │ │ ├── Negate.java
│ │ │ │ ├── SnapshotGet.java
│ │ │ │ ├── Sum.java
│ │ │ │ └── TupleCollectionGet.java
│ │ │ └── impl
│ │ │ │ ├── CaptureCollector.java
│ │ │ │ ├── ChainedAggregatorImpl.java
│ │ │ │ ├── ChainedResult.java
│ │ │ │ ├── CombinerAggStateUpdater.java
│ │ │ │ ├── CombinerAggregatorCombineImpl.java
│ │ │ │ ├── CombinerAggregatorInitImpl.java
│ │ │ │ ├── FilterExecutor.java
│ │ │ │ ├── GlobalBatchToPartition.java
│ │ │ │ ├── GroupCollector.java
│ │ │ │ ├── GroupedAggregator.java
│ │ │ │ ├── GroupedMultiReducerExecutor.java
│ │ │ │ ├── IdentityMultiReducer.java
│ │ │ │ ├── IndexHashBatchToPartition.java
│ │ │ │ ├── JoinerMultiReducer.java
│ │ │ │ ├── ReducerAggStateUpdater.java
│ │ │ │ ├── ReducerAggregatorImpl.java
│ │ │ │ ├── Result.java
│ │ │ │ ├── SingleEmitAggregator.java
│ │ │ │ └── TrueFilter.java
│ │ │ ├── partition
│ │ │ ├── GlobalGrouping.java
│ │ │ ├── IdentityGrouping.java
│ │ │ └── IndexHashGrouping.java
│ │ │ ├── planner
│ │ │ ├── BridgeReceiver.java
│ │ │ ├── Node.java
│ │ │ ├── NodeStateInfo.java
│ │ │ ├── PartitionNode.java
│ │ │ ├── ProcessorContext.java
│ │ │ ├── ProcessorNode.java
│ │ │ ├── SpoutNode.java
│ │ │ ├── SubtopologyBolt.java
│ │ │ ├── TridentProcessor.java
│ │ │ ├── TupleReceiver.java
│ │ │ └── processor
│ │ │ │ ├── AggregateProcessor.java
│ │ │ │ ├── AppendCollector.java
│ │ │ │ ├── EachProcessor.java
│ │ │ │ ├── FreshCollector.java
│ │ │ │ ├── MultiReducerProcessor.java
│ │ │ │ ├── PartitionPersistProcessor.java
│ │ │ │ ├── ProjectedProcessor.java
│ │ │ │ ├── StateQueryProcessor.java
│ │ │ │ └── TridentContext.java
│ │ │ ├── spout
│ │ │ ├── BatchSpoutExecutor.java
│ │ │ ├── IBatchID.java
│ │ │ ├── IBatchSpout.java
│ │ │ ├── ICommitterTridentSpout.java
│ │ │ ├── IOpaquePartitionedTridentSpout.java
│ │ │ ├── IPartitionedTridentSpout.java
│ │ │ ├── ISpoutPartition.java
│ │ │ ├── ITridentSpout.java
│ │ │ ├── OpaquePartitionedTridentSpoutExecutor.java
│ │ │ ├── PartitionedTridentSpoutExecutor.java
│ │ │ ├── RichSpoutBatchExecutor.java
│ │ │ ├── RichSpoutBatchId.java
│ │ │ ├── RichSpoutBatchIdSerializer.java
│ │ │ ├── RichSpoutBatchTriggerer.java
│ │ │ ├── TridentSpoutCoordinator.java
│ │ │ └── TridentSpoutExecutor.java
│ │ │ ├── state
│ │ │ ├── BaseQueryFunction.java
│ │ │ ├── BaseStateUpdater.java
│ │ │ ├── CombinerValueUpdater.java
│ │ │ ├── ITupleCollection.java
│ │ │ ├── JSONNonTransactionalSerializer.java
│ │ │ ├── JSONOpaqueSerializer.java
│ │ │ ├── JSONTransactionalSerializer.java
│ │ │ ├── OpaqueValue.java
│ │ │ ├── QueryFunction.java
│ │ │ ├── ReadOnlyState.java
│ │ │ ├── ReducerValueUpdater.java
│ │ │ ├── Serializer.java
│ │ │ ├── State.java
│ │ │ ├── StateFactory.java
│ │ │ ├── StateSpec.java
│ │ │ ├── StateType.java
│ │ │ ├── StateUpdater.java
│ │ │ ├── TransactionalValue.java
│ │ │ ├── ValueUpdater.java
│ │ │ ├── map
│ │ │ │ ├── CachedBatchReadsMap.java
│ │ │ │ ├── CachedMap.java
│ │ │ │ ├── IBackingMap.java
│ │ │ │ ├── MapCombinerAggStateUpdater.java
│ │ │ │ ├── MapReducerAggStateUpdater.java
│ │ │ │ ├── MapState.java
│ │ │ │ ├── MicroBatchIBackingMap.java
│ │ │ │ ├── NonTransactionalMap.java
│ │ │ │ ├── OpaqueMap.java
│ │ │ │ ├── ReadOnlyMapState.java
│ │ │ │ ├── RemovableMapState.java
│ │ │ │ ├── SnapshottableMap.java
│ │ │ │ └── TransactionalMap.java
│ │ │ └── snapshot
│ │ │ │ ├── ReadOnlySnapshottable.java
│ │ │ │ └── Snapshottable.java
│ │ │ ├── testing
│ │ │ ├── CountAsAggregator.java
│ │ │ ├── FeederBatchSpout.java
│ │ │ ├── FeederCommitterBatchSpout.java
│ │ │ ├── FixedBatchSpout.java
│ │ │ ├── IFeeder.java
│ │ │ ├── LRUMemoryMapState.java
│ │ │ ├── MemoryBackingMap.java
│ │ │ ├── MemoryMapState.java
│ │ │ ├── Split.java
│ │ │ ├── StringLength.java
│ │ │ ├── TrueFilter.java
│ │ │ └── TuplifyArgs.java
│ │ │ ├── topology
│ │ │ ├── BatchInfo.java
│ │ │ ├── ITridentBatchBolt.java
│ │ │ ├── MasterBatchCoordinator.java
│ │ │ ├── TransactionAttempt.java
│ │ │ ├── TridentBoltExecutor.java
│ │ │ ├── TridentTopologyBuilder.java
│ │ │ └── state
│ │ │ │ ├── RotatingTransactionalState.java
│ │ │ │ └── TransactionalState.java
│ │ │ ├── tuple
│ │ │ ├── ComboList.java
│ │ │ ├── ConsList.java
│ │ │ ├── TridentTuple.java
│ │ │ ├── TridentTupleView.java
│ │ │ └── ValuePointer.java
│ │ │ └── util
│ │ │ ├── ErrorEdgeFactory.java
│ │ │ ├── IndexedEdge.java
│ │ │ ├── LRUMap.java
│ │ │ └── TridentUtils.java
│ ├── multilang
│ │ ├── js
│ │ │ └── storm.js
│ │ ├── py
│ │ │ └── storm.py
│ │ └── rb
│ │ │ └── storm.rb
│ ├── py
│ │ ├── __init__.py
│ │ └── storm
│ │ │ ├── DistributedRPC-remote
│ │ │ ├── DistributedRPC.py
│ │ │ ├── DistributedRPCInvocations-remote
│ │ │ ├── DistributedRPCInvocations.py
│ │ │ ├── Nimbus-remote
│ │ │ ├── Nimbus.py
│ │ │ ├── __init__.py
│ │ │ ├── constants.py
│ │ │ └── ttypes.py
│ ├── storm.thrift
│ └── ui
│ │ └── public
│ │ ├── component.html
│ │ ├── css
│ │ ├── bootstrap-1.4.0.css
│ │ └── style.css
│ │ ├── images
│ │ └── spinner.gif
│ │ ├── index.html
│ │ ├── js
│ │ ├── arbor-graphics.js
│ │ ├── arbor-tween.js
│ │ ├── arbor.js
│ │ ├── bootstrap-twipsy.js
│ │ ├── jquery-1.6.2.min.js
│ │ ├── jquery.blockUI.min.js
│ │ ├── jquery.cookies.2.2.0.min.js
│ │ ├── jquery.mustache.js
│ │ ├── jquery.tablesorter.min.js
│ │ ├── moment.min.js
│ │ ├── script.js
│ │ ├── url.min.js
│ │ └── visualization.js
│ │ ├── templates
│ │ ├── component-page-template.html
│ │ ├── index-page-template.html
│ │ ├── json-error-template.html
│ │ └── topology-page-template.html
│ │ └── topology.html
└── test
│ ├── clj
│ ├── backtype
│ │ └── storm
│ │ │ ├── clojure_test.clj
│ │ │ ├── cluster_test.clj
│ │ │ ├── config_test.clj
│ │ │ ├── drpc_test.clj
│ │ │ ├── fields_test.clj
│ │ │ ├── grouping_test.clj
│ │ │ ├── integration_test.clj
│ │ │ ├── local_state_test.clj
│ │ │ ├── messaging
│ │ │ ├── netty_integration_test.clj
│ │ │ └── netty_unit_test.clj
│ │ │ ├── messaging_test.clj
│ │ │ ├── metrics_test.clj
│ │ │ ├── multilang_test.clj
│ │ │ ├── nimbus_test.clj
│ │ │ ├── scheduler_test.clj
│ │ │ ├── security
│ │ │ ├── auth
│ │ │ │ ├── AuthUtils_test.clj
│ │ │ │ ├── ReqContext_test.clj
│ │ │ │ ├── SaslTransportPlugin_test.clj
│ │ │ │ ├── ThriftClient_test.clj
│ │ │ │ ├── ThriftServer_test.clj
│ │ │ │ ├── auth_test.clj
│ │ │ │ ├── jaas_digest.conf
│ │ │ │ ├── jaas_digest_bad_password.conf
│ │ │ │ ├── jaas_digest_missing_client.conf
│ │ │ │ └── jaas_digest_unknown_user.conf
│ │ │ └── serialization
│ │ │ │ └── BlowfishTupleSerializer_test.clj
│ │ │ ├── serialization
│ │ │ └── SerializationFactory_test.clj
│ │ │ ├── serialization_test.clj
│ │ │ ├── subtopology_test.clj
│ │ │ ├── supervisor_test.clj
│ │ │ ├── testing4j_test.clj
│ │ │ ├── tick_tuple_test.clj
│ │ │ ├── transactional_test.clj
│ │ │ ├── tuple_test.clj
│ │ │ ├── utils_test.clj
│ │ │ ├── versioned_store_test.clj
│ │ │ └── worker_test.clj
│ └── storm
│ │ └── trident
│ │ ├── integration_test.clj
│ │ ├── state_test.clj
│ │ └── tuple_test.clj
│ ├── jvm
│ └── backtype
│ │ └── storm
│ │ ├── serialization
│ │ └── GzipBridgeSerializationDelegateTest.java
│ │ └── utils
│ │ ├── DisruptorQueueTest.java
│ │ └── StormBoundedExponentialBackoffRetryTest.java
│ └── multilang
│ └── fy
│ ├── bolt.fy
│ ├── mocks.fy
│ └── protocol.fy
└── storm-dist
├── binary
├── LICENSE
├── NOTICE
├── pom.xml
└── src
│ └── main
│ └── assembly
│ └── binary.xml
└── source
├── pom.xml
└── src
└── main
└── assembly
└── source.xml
/README.md:
--------------------------------------------------------------------------------
1 | # storm-src
2 | i changer the storm src and allow it easy to use在web ui界面可以多显示一组数据
3 |
--------------------------------------------------------------------------------
/apache-storm-0.9.4/.gitignore:
--------------------------------------------------------------------------------
1 | .lein-repl-history
2 | /classes
3 | /lib
4 | deploy/lib
5 | deploy/logs
6 | .emacs-project
7 | *.jar
8 | bin/jzmq
9 | .DS_Store
10 | deploy/classes
11 | *.fyc
12 | *.rbc
13 | *.pyc
14 | CHILD
15 | CHILDMAKER
16 | NANNY
17 | \#project.clj\#
18 | .\#project.clj
19 | .lein-failures
20 | _release
21 | *.zip
22 | *.tar.gz
23 | .lein-deps-sum
24 | *.iml
25 | target
26 | /.project/
27 | /.lein-plugins/
28 | *.ipr
29 | *.iws
30 | .idea
31 | .*
32 | !/.gitignore
33 |
--------------------------------------------------------------------------------
/apache-storm-0.9.4/DISCLAIMER:
--------------------------------------------------------------------------------
1 | Apache Storm is an effort undergoing incubation at the Apache Software
2 | Foundation (ASF), sponsored by the Apache Incubator PMC.
3 |
4 | Incubation is required of all newly accepted projects until a further review
5 | indicates that the infrastructure, communications, and decision making process
6 | have stabilized in a manner consistent with other successful ASF projects.
7 |
8 | While incubation status is not necessarily a reflection of the completeness
9 | or stability of the code, it does indicate that the project has yet to be
10 | fully endorsed by the ASF.
11 |
--------------------------------------------------------------------------------
/apache-storm-0.9.4/NOTICE:
--------------------------------------------------------------------------------
1 | Apache Storm
2 | Copyright 2014 The Apache Software Foundation
3 |
4 | This product includes software developed at
5 | The Apache Software Foundation (http://www.apache.org/).
6 |
7 | This product includes software developed by Yahoo! Inc. (www.yahoo.com)
8 | Copyright (c) 2012-2014 Yahoo! Inc.
--------------------------------------------------------------------------------
/apache-storm-0.9.4/VERSION:
--------------------------------------------------------------------------------
1 | ${project.version}
2 |
--------------------------------------------------------------------------------
/apache-storm-0.9.4/conf/logback.xml:
--------------------------------------------------------------------------------
1 |
2 |
18 |
19 |
20 |
21 | %-4r [%t] %-5p %c - %m%n
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/apache-storm-0.9.4/conf/storm_env.ini:
--------------------------------------------------------------------------------
1 | #
2 | # Licensed to the Apache Software Foundation (ASF) under one
3 | # or more contributor license agreements. See the NOTICE file
4 | # distributed with this work for additional information
5 | # regarding copyright ownership. The ASF licenses this file
6 | # to you under the Apache License, Version 2.0 (the
7 | # "License"); you may not use this file except in compliance
8 | # with the License. You may obtain a copy of the License at
9 | #
10 | # http://www.apache.org/licenses/LICENSE-2.0
11 | #
12 | # Unless required by applicable law or agreed to in writing, software
13 | # distributed under the License is distributed on an "AS IS" BASIS,
14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | # See the License for the specific language governing permissions and
16 | # limitations under the License.
17 | #
18 |
19 |
20 | # Environment variables in the following section will be used
21 | # in storm python script. They override the environment variables
22 | # set in the shell.
23 | [environment]
24 |
25 | # The java implementation to use. If JAVA_HOME is not found we expect java to be in path
26 | #JAVA_HOME:home
27 |
28 | # JVM options to be used in "storm jar" commad
29 | #STORM_JAR_JVM_OPTS:
30 |
31 |
--------------------------------------------------------------------------------
/apache-storm-0.9.4/examples/storm-starter/multilang/resources/splitsentence.py:
--------------------------------------------------------------------------------
1 | # Licensed to the Apache Software Foundation (ASF) under one
2 | # or more contributor license agreements. See the NOTICE file
3 | # distributed with this work for additional information
4 | # regarding copyright ownership. The ASF licenses this file
5 | # to you under the Apache License, Version 2.0 (the
6 | # "License"); you may not use this file except in compliance
7 | # with the License. You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 | import storm
17 |
18 | class SplitSentenceBolt(storm.BasicBolt):
19 | def process(self, tup):
20 | words = tup.values[0].split(" ")
21 | for word in words:
22 | storm.emit([word])
23 |
24 | SplitSentenceBolt().run()
--------------------------------------------------------------------------------
/apache-storm-0.9.4/examples/storm-starter/multilang/resources/splitsentence.rb:
--------------------------------------------------------------------------------
1 | # Licensed to the Apache Software Foundation (ASF) under one
2 | # or more contributor license agreements. See the NOTICE file
3 | # distributed with this work for additional information
4 | # regarding copyright ownership. The ASF licenses this file
5 | # to you under the Apache License, Version 2.0 (the
6 | # "License"); you may not use this file except in compliance
7 | # with the License. You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 | require "./storm"
17 |
18 | class SplitSentenceBolt < Storm::Bolt
19 | def process(tup)
20 | tup.values[0].split(" ").each do |word|
21 | emit([word])
22 | end
23 | end
24 | end
25 |
26 | SplitSentenceBolt.new.run
--------------------------------------------------------------------------------
/apache-storm-0.9.4/examples/storm-starter/src/jvm/storm/starter/tools/Rankable.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Licensed to the Apache Software Foundation (ASF) under one
3 | * or more contributor license agreements. See the NOTICE file
4 | * distributed with this work for additional information
5 | * regarding copyright ownership. The ASF licenses this file
6 | * to you under the Apache License, Version 2.0 (the
7 | * "License"); you may not use this file except in compliance
8 | * with the License. You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 | package storm.starter.tools;
19 |
20 | public interface Rankable extends Comparable {
21 |
22 | Object getObject();
23 |
24 | long getCount();
25 |
26 | /**
27 | * Note: We do not defensively copy the object wrapped by the Rankable. It is passed as is.
28 | *
29 | * @return a defensive copy
30 | */
31 | Rankable copy();
32 | }
33 |
--------------------------------------------------------------------------------
/apache-storm-0.9.4/examples/storm-starter/src/jvm/storm/starter/util/TupleHelpers.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Licensed to the Apache Software Foundation (ASF) under one
3 | * or more contributor license agreements. See the NOTICE file
4 | * distributed with this work for additional information
5 | * regarding copyright ownership. The ASF licenses this file
6 | * to you under the Apache License, Version 2.0 (the
7 | * "License"); you may not use this file except in compliance
8 | * with the License. You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 | package storm.starter.util;
19 |
20 | import backtype.storm.Constants;
21 | import backtype.storm.tuple.Tuple;
22 |
23 | public final class TupleHelpers {
24 |
25 | private TupleHelpers() {
26 | }
27 |
28 | public static boolean isTickTuple(Tuple tuple) {
29 | return tuple.getSourceComponent().equals(Constants.SYSTEM_COMPONENT_ID) && tuple.getSourceStreamId().equals(
30 | Constants.SYSTEM_TICK_STREAM_ID);
31 | }
32 |
33 | }
34 |
--------------------------------------------------------------------------------
/apache-storm-0.9.4/external/storm-hbase/src/main/java/org/apache/storm/hbase/common/IColumn.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Licensed to the Apache Software Foundation (ASF) under one
3 | * or more contributor license agreements. See the NOTICE file
4 | * distributed with this work for additional information
5 | * regarding copyright ownership. The ASF licenses this file
6 | * to you under the Apache License, Version 2.0 (the
7 | * "License"); you may not use this file except in compliance
8 | * with the License. You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 | package org.apache.storm.hbase.common;
19 |
20 | /**
21 | * Interface definition for classes that support being written to HBase as
22 | * a regular column.
23 | *
24 | */
25 | public interface IColumn {
26 | byte[] family();
27 | byte[] qualifier();
28 | byte[] value();
29 | long timestamp();
30 | }
31 |
--------------------------------------------------------------------------------
/apache-storm-0.9.4/external/storm-hbase/src/main/java/org/apache/storm/hbase/common/ICounter.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Licensed to the Apache Software Foundation (ASF) under one
3 | * or more contributor license agreements. See the NOTICE file
4 | * distributed with this work for additional information
5 | * regarding copyright ownership. The ASF licenses this file
6 | * to you under the Apache License, Version 2.0 (the
7 | * "License"); you may not use this file except in compliance
8 | * with the License. You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 | package org.apache.storm.hbase.common;
19 |
20 | /**
21 | * Interface definition for classes that support being written to HBase as
22 | * a counter column.
23 | *
24 | */
25 | public interface ICounter {
26 | byte[] family();
27 | byte[] qualifier();
28 | long increment();
29 | }
30 |
--------------------------------------------------------------------------------
/apache-storm-0.9.4/external/storm-hdfs/src/main/java/org/apache/storm/hdfs/bolt/format/RecordFormat.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Licensed to the Apache Software Foundation (ASF) under one
3 | * or more contributor license agreements. See the NOTICE file
4 | * distributed with this work for additional information
5 | * regarding copyright ownership. The ASF licenses this file
6 | * to you under the Apache License, Version 2.0 (the
7 | * "License"); you may not use this file except in compliance
8 | * with the License. You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 | package org.apache.storm.hdfs.bolt.format;
19 |
20 |
21 | import backtype.storm.tuple.Tuple;
22 |
23 | import java.io.Serializable;
24 |
25 | /**
26 | * Formats a Tuple object into a byte array
27 | * that will be written to HDFS.
28 | *
29 | */
30 | public interface RecordFormat extends Serializable {
31 | byte[] format(Tuple tuple);
32 | }
33 |
--------------------------------------------------------------------------------
/apache-storm-0.9.4/external/storm-hdfs/src/main/java/org/apache/storm/hdfs/bolt/rotation/NoRotationPolicy.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Licensed to the Apache Software Foundation (ASF) under one
3 | * or more contributor license agreements. See the NOTICE file
4 | * distributed with this work for additional information
5 | * regarding copyright ownership. The ASF licenses this file
6 | * to you under the Apache License, Version 2.0 (the
7 | * "License"); you may not use this file except in compliance
8 | * with the License. You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 | package org.apache.storm.hdfs.bolt.rotation;
19 |
20 | import backtype.storm.tuple.Tuple;
21 |
22 | /**
23 | * File rotation policy that will never rotate...
24 | * Just one big file. Intended for testing purposes.
25 | */
26 | public class NoRotationPolicy implements FileRotationPolicy {
27 | @Override
28 | public boolean mark(Tuple tuple, long offset) {
29 | return false;
30 | }
31 |
32 | @Override
33 | public void reset() {
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/apache-storm-0.9.4/external/storm-hdfs/src/main/java/org/apache/storm/hdfs/common/rotation/RotationAction.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Licensed to the Apache Software Foundation (ASF) under one
3 | * or more contributor license agreements. See the NOTICE file
4 | * distributed with this work for additional information
5 | * regarding copyright ownership. The ASF licenses this file
6 | * to you under the Apache License, Version 2.0 (the
7 | * "License"); you may not use this file except in compliance
8 | * with the License. You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 | package org.apache.storm.hdfs.common.rotation;
19 |
20 |
21 | import org.apache.hadoop.fs.FileSystem;
22 | import org.apache.hadoop.fs.Path;
23 |
24 | import java.io.IOException;
25 | import java.io.Serializable;
26 |
27 | public interface RotationAction extends Serializable {
28 | void execute(FileSystem fileSystem, Path filePath) throws IOException;
29 | }
30 |
--------------------------------------------------------------------------------
/apache-storm-0.9.4/external/storm-hdfs/src/main/java/org/apache/storm/hdfs/trident/HdfsUpdater.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Licensed to the Apache Software Foundation (ASF) under one
3 | * or more contributor license agreements. See the NOTICE file
4 | * distributed with this work for additional information
5 | * regarding copyright ownership. The ASF licenses this file
6 | * to you under the Apache License, Version 2.0 (the
7 | * "License"); you may not use this file except in compliance
8 | * with the License. You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 | package org.apache.storm.hdfs.trident;
19 |
20 | import storm.trident.operation.TridentCollector;
21 | import storm.trident.state.BaseStateUpdater;
22 | import storm.trident.tuple.TridentTuple;
23 |
24 | import java.util.List;
25 |
26 | public class HdfsUpdater extends BaseStateUpdater{
27 | @Override
28 | public void updateState(HdfsState state, List tuples, TridentCollector collector) {
29 | state.updateState(tuples, collector);
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/apache-storm-0.9.4/external/storm-hdfs/src/main/java/org/apache/storm/hdfs/trident/format/RecordFormat.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Licensed to the Apache Software Foundation (ASF) under one
3 | * or more contributor license agreements. See the NOTICE file
4 | * distributed with this work for additional information
5 | * regarding copyright ownership. The ASF licenses this file
6 | * to you under the Apache License, Version 2.0 (the
7 | * "License"); you may not use this file except in compliance
8 | * with the License. You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 | package org.apache.storm.hdfs.trident.format;
19 |
20 |
21 | import storm.trident.tuple.TridentTuple;
22 |
23 | import java.io.Serializable;
24 |
25 | /**
26 | * Formats a Tuple object into a byte array
27 | * that will be written to HDFS.
28 | *
29 | */
30 | public interface RecordFormat extends Serializable {
31 | byte[] format(TridentTuple tuple);
32 | }
33 |
--------------------------------------------------------------------------------
/apache-storm-0.9.4/external/storm-kafka/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | ## 0.9.2-incubating (0.5.0)
2 | * incorporated as an Apache Storm external module
3 | * fixed partition assignment for KafkaSpout
4 | * upgraded to storm 0.9.1
5 |
6 | ## 0.4.0
7 | * added support for reading kafka message keys
8 | * configurable metrics emit interval
9 |
10 | ## 0.3.0
11 | * updated partition path in zookeeper
12 | * added error handling for fetch request
13 |
14 |
--------------------------------------------------------------------------------
/apache-storm-0.9.4/external/storm-kafka/src/jvm/storm/kafka/BrokerHosts.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Licensed to the Apache Software Foundation (ASF) under one
3 | * or more contributor license agreements. See the NOTICE file
4 | * distributed with this work for additional information
5 | * regarding copyright ownership. The ASF licenses this file
6 | * to you under the Apache License, Version 2.0 (the
7 | * "License"); you may not use this file except in compliance
8 | * with the License. You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 | package storm.kafka;
19 |
20 | import java.io.Serializable;
21 |
22 |
23 | public interface BrokerHosts extends Serializable {
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/apache-storm-0.9.4/external/storm-kafka/src/jvm/storm/kafka/FailedFetchException.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Licensed to the Apache Software Foundation (ASF) under one
3 | * or more contributor license agreements. See the NOTICE file
4 | * distributed with this work for additional information
5 | * regarding copyright ownership. The ASF licenses this file
6 | * to you under the Apache License, Version 2.0 (the
7 | * "License"); you may not use this file except in compliance
8 | * with the License. You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 | package storm.kafka;
19 |
20 | public class FailedFetchException extends RuntimeException {
21 |
22 | public FailedFetchException(String message) {
23 | super(message);
24 | }
25 |
26 | public FailedFetchException(Exception e) {
27 | super(e);
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/apache-storm-0.9.4/external/storm-kafka/src/jvm/storm/kafka/KeyValueScheme.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Licensed to the Apache Software Foundation (ASF) under one
3 | * or more contributor license agreements. See the NOTICE file
4 | * distributed with this work for additional information
5 | * regarding copyright ownership. The ASF licenses this file
6 | * to you under the Apache License, Version 2.0 (the
7 | * "License"); you may not use this file except in compliance
8 | * with the License. You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 | package storm.kafka;
19 |
20 | import backtype.storm.spout.Scheme;
21 |
22 | import java.util.List;
23 |
24 | public interface KeyValueScheme extends Scheme {
25 |
26 | public List