官术网_书友最值得收藏!

The Storm data model

The basic unit of data that can be processed by a Storm application is called a tuple. Each tuple consists of a predefined list of fields. The value of each field can be a byte, char, integer, long, float, double, Boolean, or byte array. Storm also provides an API to define your own datatypes, which can be serialized as fields in a tuple.

A tuple is dynamically typed, that is, you just need to define the names of the fields in a tuple and not their datatype. The choice of dynamic typing helps to simplify the API and makes it easy to use. Also, since a processing unit in Storm can process multiple types of tuples, it's not practical to declare field types.

Each of the fields in a tuple can be accessed by its name, getValueByField(String), or its positional index, getValue(int), in the tuple. Tuples also provide convenient methods such as getIntegerByField(String) that save you from typecasting the objects. For example, if you have a Fraction (numerator, denominator) tuple, representing fractional numbers, then you can get the value of the numerator by either using getIntegerByField("numerator") or getInteger(0).

You can see the full set of operations supported by org.apache.storm.tuple.Tuple in the Java doc that is located at https://storm.apache.org/releases/1.0.2/javadocs/org/apache/storm/tuple/Tuple.html.

主站蜘蛛池模板: 南川市| 凌云县| 广昌县| 修水县| 壤塘县| 慈溪市| 库伦旗| 治多县| 屯门区| 兴义市| 湖南省| 泉州市| 保定市| 石河子市| 万宁市| 曲阳县| 辉县市| 汾西县| 南漳县| 康定县| 泰宁县| 大田县| 太仓市| 穆棱市| 伊金霍洛旗| 通江县| 卓尼县| 隆德县| 华阴市| 宜兰县| 封丘县| 哈巴河县| 瑞丽市| 乐东| 菏泽市| 桂林市| 南阳市| 南乐县| 景宁| 寿光市| 永昌县|