溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

storm中tuple結(jié)構(gòu)是怎么樣的

發(fā)布時(shí)間:2021-12-10 11:39:35 來(lái)源:億速云 閱讀:151 作者:小新 欄目:云計(jì)算

小編給大家分享一下storm中tuple結(jié)構(gòu)是怎么樣的,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

storm使用tuple來(lái)作為它的數(shù)據(jù)模型。每個(gè)tuple是一堆值,每個(gè)值有一個(gè)名字,并且每個(gè)值可以是任何類型, 在我的理解里面一個(gè)tuple可以看作一個(gè)沒(méi)有方法的java對(duì)象。總體來(lái)看,storm支持所有的基本類型、字符串以及字節(jié)數(shù)組作為tuple的值類型。你也可以使用你自己定義的類型來(lái)作為值類型, 只要你實(shí)現(xiàn)對(duì)應(yīng)的序列化器(serializer)。
一個(gè)Tuple代表數(shù)據(jù)流中的一個(gè)基本的處理單元,例如一條cookie日志,它可以包含多個(gè)Field,每個(gè)Field表示一個(gè)屬性。

storm中tuple結(jié)構(gòu)是怎么樣的

Tuple本來(lái)應(yīng)該是一個(gè)Key-Value的Map,由于各個(gè)組件間傳遞的tuple的字段名稱已經(jīng)事先定義好了,所以Tuple只需要按序填入各個(gè)Value,所以就是一個(gè)Value List。

一個(gè)沒(méi)有邊界的、源源不斷的、連續(xù)的Tuple序列就組成了Stream。

storm中tuple結(jié)構(gòu)是怎么樣的

topology里面的每個(gè)節(jié)點(diǎn)必須定義它要發(fā)射的tuple的每個(gè)字段。 比如下面這個(gè)bolt定義它所發(fā)射的tuple包含兩個(gè)字段,類型分別是: double和triple。

public class DoubleAndTripleBolt implements IRichBolt {
    private OutputCollector _collector;

    @Override
    public void prepare(Map conf, TopologyContext context, OutputCollector collector) {
        _collector = collector;
    }

    @Override
    public voide xecute(Tuple input) {
        int val = input.getInteger(0);
        _collector.emit(input,new Values(val*2, val*3));
        _collector.ack(input);
    }

    @Override
    public void cleanup() {
    }

    @Override
    public void declareOutputFields(OutputFieldsDeclarer declarer) {
        declarer.declare(newFields("double","triple"));
    }
}

declareOutputFields方法定義要輸出的字段 : ["double", "triple"]。

以上是“storm中tuple結(jié)構(gòu)是怎么樣的”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI