中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

ApacheArrow官方文檔-IPC進(jìn)程間通信-創(chuàng)新互聯(lián)

封裝消息格式

  流和文件格式中的數(shù)據(jù)組件表示為封裝 消息,包括:

目前成都創(chuàng)新互聯(lián)公司已為上1000+的企業(yè)提供了網(wǎng)站建設(shè)、域名、雅安服務(wù)器托管、網(wǎng)站改版維護(hù)、企業(yè)網(wǎng)站設(shè)計(jì)、嘉蔭網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
  • 指示元數(shù)據(jù)大小的長度前綴
  • 消息元數(shù)據(jù)作為Flatbuffer 平鋪緩沖區(qū)
  • 將字節(jié)填充到8字節(jié)邊界
  • 消息體
    示意,我們有:
    <metadata_size: int32>
    <metadata_flatbuffer: bytes>
    <padding>
    <message body>

 所述metadata_size包括flatbuffer加填充的大小。所述 Message flatbuffer包括版本號(hào),特定消息(作為flatbuffer聯(lián)合),和消息體的大?。?/p>

table Message {
  version: org.apache.arrow.flatbuf.MetadataVersion;
  header: MessageHeader;
  bodyLength: long;
}

  目前,我們支持4種類型的消息:

  • Schema
  • RecordBatch
  • DictionaryBatch
  • Tensor

流式格式

  我們提供用于RecordBatch的流格式。它被作為封裝消息的序列呈現(xiàn),每個(gè)消息遵循上述格式。該模式首先在流中,對(duì)于以后的所有RecordBatch都是相同的。如果模式中的任何字段都是字典編碼的,則一個(gè)或多個(gè) DictionaryBatch消息將跟隨模式。

<SCHEMA>
<DICTIONARY 0>
...
<DICTIONARY k - 1>
<RECORD BATCH 0>
...
<RECORD BATCH n - 1>
<EOS [optional]: int32>

  當(dāng)流讀取器實(shí)現(xiàn)讀取流時(shí),在每個(gè)消息之后,它可以讀取接下來的4個(gè)字節(jié)以知道以下消息元數(shù)據(jù)的大小。讀取消息flatbuffer后,您可以讀取消息體。
  流寫入器可以通過寫入0長度作為int32或簡(jiǎn)單地關(guān)閉流接口來發(fā)送流終端(EOS)信號(hào)。

文件格式

  我們以與流格式非常相似的格式定義支持隨機(jī)訪問的“文件格式”。該文件以魔術(shù)字符串ARROW1 (加上填充)開始和結(jié)束。文件中的內(nèi)容與流格式相同。在文件末尾,我們編寫一個(gè)頁腳,包括文件中每個(gè)數(shù)據(jù)塊的偏移量和大小,以便隨機(jī)訪問是可以實(shí)現(xiàn)的。有關(guān)文件頁腳的精確細(xì)節(jié),請(qǐng)參閱 format / File.fbs。
示意, 我們有:

<magic number "ARROW1">
<empty padding bytes [to 8 byte boundary]>
<STREAMING FORMAT>
<FOOTER>
<FOOTER SIZE: int32>
<magic number "ARROW1">

RecordBatch體結(jié)構(gòu)

所述RecordBatch元數(shù)據(jù)包含一個(gè)深度優(yōu)先(先序)扁平化設(shè)置字段的元數(shù)據(jù)和物理內(nèi)存緩沖區(qū)(Message.fbs 中的一些注釋已經(jīng)縮短/移除):

table RecordBatch {
  length: long;
  nodes: [FieldNode];
  buffers: [Buffer];
}

struct FieldNode {
  length: long;
  null_count: long;
}

struct Buffer {
  /// The shared memory page id where this buffer is located. Currently this is
  /// not used
  page: int;

  /// The relative offset into the shared memory page where the bytes for this
  /// buffer starts
  offset: long;

  /// The absolute length (in bytes) of the memory buffer. The memory is found
  /// from offset (inclusive) to offset + length (non-inclusive).
  length: long;
}

  在文件的上下文中,不使用page,Buffer偏移量用作消息正文開頭的參考幀。因此,在通用IPC設(shè)置中,這些偏移量可能是一個(gè)或多個(gè)共享內(nèi)存區(qū)域中的任何位置,在文件格式中偏移量從0開始。
  RecordBatch的位置以及元數(shù)據(jù)塊的大小以及緩沖區(qū)的大小存儲(chǔ)在文件頁腳中:

struct Block {
  offset: long;
  metaDataLength: int;
  bodyLength: long;
}

  一些關(guān)于這個(gè)的注釋

  • 該Block偏移量表示記錄批次的起始字節(jié)。
  • 元數(shù)據(jù)長度包括平緩緩沖區(qū)大小,記錄批量元數(shù)據(jù)平緩緩沖區(qū)以及任何填充字節(jié)

    字典Batches

      字典Batch尚未實(shí)現(xiàn),但它們?cè)谠獢?shù)據(jù)中提供。目前,文件中顯示的DICTIONARY細(xì)分片段不會(huì)出現(xiàn)在任何文件實(shí)現(xiàn)中。

    Tensor(多維數(shù)組)信息格式

      Tensor消息類型提供一種方式來編寫使用Arrow的共享內(nèi)存工具的固定大小的值(如一個(gè)NumPy的ndarray)的多維數(shù)組。盡管我們?cè)贑 ++中提供了一個(gè)參考實(shí)現(xiàn),但通常不需要實(shí)現(xiàn)這種數(shù)據(jù)格式的Arrow實(shí)現(xiàn)。
      當(dāng)編寫?yīng)毩⒎庋b的Tensor消息時(shí),我們使用上述格式,但另外將起始偏移(如果寫入共享內(nèi)存區(qū)域)對(duì)齊為8的倍數(shù):

    <PADDING>
    <metadata size: int32>
    <metadata>
    <tensor body>

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

網(wǎng)頁標(biāo)題:ApacheArrow官方文檔-IPC進(jìn)程間通信-創(chuàng)新互聯(lián)
文章位置:http://www.rwnh.cn/article40/ddcieo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名全網(wǎng)營銷推廣外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站導(dǎo)航、商城網(wǎng)站、建站公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名
博兴县| 长宁区| 东港市| 英山县| 灵山县| 勐海县| 德兴市| 新绛县| 筠连县| 进贤县| 宜都市| 宝坻区| 靖安县| 石狮市| 凤山市| 山东省| 富宁县| 昭苏县| 双牌县| 时尚| 江山市| 东海县| 甘洛县| 灵寿县| 松潘县| 江油市| 贡山| 宜君县| 宁远县| 乐清市| 宁都县| 康定县| 鹤峰县| 永定县| 新宁县| 堆龙德庆县| 五寨县| 巴彦淖尔市| 津市市| 土默特右旗| 枣阳市|