在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何將Cassandra數據轉換為RAPIDS可用格式

星星科技指導員 ? 來源:NVIDIA ? 作者:NVIDIA ? 2022-04-17 10:33 ? 次閱讀

在上一篇文章中,我談到了我們尋找將 SSTable 數據加載到 GPU 以進行數據分析的最佳方法的過程。我們研究了將 Cassandra 數據轉換為RAPIDS可用格式的各種方法,并決定創建sstable to arrow ,一種自定義實現,用于解析 sstable 并將其寫入 arrow 格式。在這篇文章中,我們將進一步討論sstable-to-arrow,它的功能、局限性,以及如何在分析用例中使用它。

實施細節

Sstable-to-arrow是用C++17編寫的。它使用 Kaitai 結構。庫以反 Clara 方式指定SSTable文件的布局。然后 Kaitai 結構編譯器將這些 declarations 編譯成C++類,這些類可以包含在源代碼中,以將SSTables解析為內存中的數據。然后,它獲取數據并將表中的每一列轉換為箭頭向量。Sstable to arrow隨后可以將arrow數據發送到任何客戶機,在那里數據可以轉換為 cuDF 并可用于 GPU 分析。

當前限制

SStable-to-arrow一次只能讀取一個 SSTable 。要處理多個 SSTable ,用戶必須為每個 SSTable 配置 cuDF ,并使用 GPU 根據上次寫入 wins 語義合并它們。

sstable-to-arrow公開內部卡桑德拉時間戳和墓碑標記,以便可以在 cuDF 層進行合并。

有些數據,包括分區鍵和集群列的名稱,實際上無法從 SSTable 文件中推斷出來,因為它們需要將模式存儲在系統表中。

Cassandra 在刷新到 SSTables 之前將數據存儲在 memtables 和 commitlogs 中,因此僅使用sstable-to-arrow執行的分析可能會過時/不實時。

目前,解析器只支持 Cassandra OSS 3 。 11 編寫的文件。

系統設置為掃描整個 SSTables (而不是讀取特定分區)。如果我們做謂詞下推,還需要做更多的工作。

不支持以下CQL 類型:counter、frozen和用戶定義的類型。

varint s 最多只能存儲 8 個字節。嘗試讀取具有較大varint的表將崩潰。

解析器最多只能讀取 64 列的表。

解析器將每個 SSTable 加載到內存中,因此當前無法處理超出機器內存容量的大型 SSTable 。

Decimal S轉換成8字節浮點值,因為無論是C++還是箭頭都沒有對 Java BigIntege 或 BigDecimal 類的任意精度整數或小數點的本機支持。這意味著對十進制列的操作將使用浮點運算,這可能是不精確的。

Set 被視為列表,因為 Arrow 沒有集合的等效項。

路線圖和未來發展

該項目的最終目標是在 RAPIDS 生態系統中包含某種形式的讀表功能,類似于cudf.read_csv。性能也是一個不斷發展的領域,我目前正在研究如何進一步并行讀取 SSK 表,以充分利用 GPU 。我還致力于解決或改進前面提到的限制,特別是擴大對不同 CQL 類型的支持,并使程序能夠處理大型數據集。

如何使用sstable-to-arrow

您可以使用Docker運行sstable-to-arrow。

pYYBAGJbfHWAdN7_AABuSCQ4LMo169.png

這將偵聽端口 9143 上的連接。它希望客戶端先發送消息,然后以以下格式發送數據:

作為 8 字節 big-endian 無符號整數傳輸的箭頭表數

對于每個表:

其大小(以字節為單位)為 8 字節大端無符號整數。

表的內容采用箭頭 IPC 流格式。

然后,您可以使用任何客戶端從端口獲取數據。要開始使用示例 Python 客戶端,如果您的系統不支持 CUDA ,請執行以下步驟:

poYBAGJbfHaAK3XnAAF0YG_R6qo311.png

如果您的系統支持 CUDA ,建議使用以下命令創建 conda 環境。在啟動sstable-to-arrow服務器之前,您還需要傳遞 -x 標志,以將所有不支持 cuDF 的類型轉換為十六進制字符串。

pYYBAGJbfHiAQWjwAAFNORj9oqc128.png

要使用其他數據集進行實驗,您需要在計算機上使用原始 SSTable 文件。您可以在這是谷歌硬盤文件夾下載物聯網數據示例。您還可以使用存儲庫中的generate-data腳本生成物聯網數據,也可以使用 CQL 和 Cassandra Docker 映像手動創建表(有關更多信息,請參閱Cassandra 快速入門)。確保使用 Docker 卷與容器共享 SSTable 文件:

pYYBAGJbfHmAbL4rAABRPqoDm3I727.png

您還可以傳遞 -h 標志以獲取有關其他選項的信息。如果希望從源代碼構建項目,請按照GitHub 存儲庫中的步驟進行操作。

SSTable to Parquet

Sstable-to-arrow還能夠將 SSTable 數據保存為Parquet文件,這是存儲列數據的常用格式。同樣,它還不支持重復數據消除,因此它只需將 sstable 和所有元數據輸出到給定的拼花地板文件。

您可以通過傳遞-p標志,然后傳遞要存儲拼花地板文件的路徑來運行此操作:

poYBAGJbfHqAQ14BAAB3agOqh4U924.png

結論

Sstable-to-arrow是利用 Cassandra 數據進行基于 GPU 的分析的早期但有希望的方法。該項目可在GitHub上獲得,并可通過碼頭中心作為 alpha 版本訪問。

關于作者

Alex Cai 于 2021 年在 DataStax 實習,是哈佛大學 2025 級的學生。他熱衷于計算機、軟件和認知科學,在業余時間,他喜歡閱讀、研究語言學和玩他的貓。

審核編輯:郭婷

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • NVIDIA
    +關注

    關注

    14

    文章

    5075

    瀏覽量

    103579
  • gpu
    gpu
    +關注

    關注

    28

    文章

    4768

    瀏覽量

    129261
  • 計算機
    +關注

    關注

    19

    文章

    7534

    瀏覽量

    88502
收藏 人收藏

    評論

    相關推薦

    如何將算得的數據(10進制)轉換為16進制通過串口發送出?

    我用公式節點算得一組數據,好比是1212,1313,1414等,這些數據轉為16進制就是04BC,0521,0586,如何將十進制的數據轉換為
    發表于 01-30 14:05

    如何將二維數組轉換為圖像

    如何將二維數組轉換為圖像
    發表于 03-10 11:15

    如何將秒數轉換為時間字符串?

    請問如何將數值型秒數轉換為時間字符串?比如3600s轉換為01:00:00
    發表于 03-30 13:15

    如何將ADC代碼轉換為電壓

    (LSB)。公式1是可用于任何ADC的一般公式。如果ADC的輸出代碼為二進制或二進制補碼格式也沒有關系,只要將二進制數正確轉換為其等效十進制值即可。確定LSB大小完成ADC轉換后,
    發表于 07-23 04:45

    如何將excel格式的文件轉換為可以使用agilent intuilink波形編輯器查看的格式

    嗨,請問有誰知道如何將excel格式的文件轉換為可以使用agilent intuilink波形編輯器查看的格式?我已附加文件我試圖上傳... 以上來自于谷歌翻譯 以下為原文Hi,pl
    發表于 08-06 14:38

    如何將傳統ANN轉換為SNN?

    SNN和ANN的區別是什么?如何將傳統ANN轉換為SNN?
    發表于 09-28 06:15

    請教大神LSM6DSM是如何將寄存器數據轉換為C度的?

    請教大神LSM6DSM是如何將寄存器數據轉換為C度的?
    發表于 12-12 07:44

    如何將PCM值轉換為.wav格式

    我的第二個問題仍然是如何將此 PCM 值轉換為 .wav 格式?我仍然需要對該領域有更深入的了解,這里的任何人都可以發表建議、鏈接技術文章并分享他們的經驗以供我學習,我將不勝感激。
    發表于 01-06 07:35

    LM5066如何將數據轉換為負溫度?

    晶體管 MMBT3904LT1G 的集電極和基極連接到 lm5066 的二極管引腳。發射器接地。電路板被放置在 -20 攝氏度的熱室中。在讀取本地溫度寄存器 0x??8Dh 時,我們收到的數據為 0xF0Ah。如何將數據
    發表于 05-11 07:54

    如何將PROTEL格式的文件轉換為AUTOCAD格式并打印

     怎樣PROTEL格式的文件轉換為AUTOCAD格式并打印呢: 在國內Protel軟件一直大受歡迎,從DOS時代的Protel3.3(Autotrax 1.61)到現在具有EDA C
    發表于 03-25 15:01 ?0次下載

    cassandra數據庫存儲結構_ cassandra數據數據的寫入,讀取和刪除

     本文主要介紹 Cassandra數據的存儲格式,包括在內存中的數據和磁盤中數據Cassandra
    發表于 01-02 11:59 ?7684次閱讀
    <b class='flag-5'>cassandra</b><b class='flag-5'>數據</b>庫存儲結構_ <b class='flag-5'>cassandra</b><b class='flag-5'>數據</b>庫<b class='flag-5'>數據</b>的寫入,讀取和刪除

    如何將Altera的SDC約束轉換為Xilinx XDC約束

    了解如何將Altera的SDC約束轉換為Xilinx XDC約束,以及需要更改或修改哪些約束以使Altera的約束適用于Vivado設計軟件。
    的頭像 發表于 11-27 07:17 ?5170次閱讀

    深入RAPIDS了解處理Cassandra數據的方法

      在這篇文章中,我們探索了一種處理 Cassandra SSTables 的尖端方法,方法是使用 RAPIDS 生態系統中的工具將它們直接解析到 GPU 設備內存中。這將使用戶能夠以更少的初始設置更快地到達見解 ,并且還可以方便地 MIG 評估用 Python 編寫的現
    的頭像 發表于 04-17 10:38 ?1243次閱讀
    深入<b class='flag-5'>RAPIDS</b>了解處理<b class='flag-5'>Cassandra</b><b class='flag-5'>數據</b>的方法

    如何將簡單的汽車轉換為無線遙控汽車

    電子發燒友網站提供《如何將簡單的汽車轉換為無線遙控汽車.zip》資料免費下載
    發表于 10-21 14:51 ?2次下載
    <b class='flag-5'>如何將</b>簡單的汽車<b class='flag-5'>轉換為</b>無線遙控汽車

    如何bmp格式轉換為jpg格式

    我們在使用示波器時,經常會需要將波形通過 U 盤導出,一般這種導出的波形的都是bmp 格式的,很多時候 bmp 格式的圖片不方便使用,需要轉換為 jpg 或 png 格式的。
    的頭像 發表于 08-08 15:08 ?894次閱讀
    如何bmp<b class='flag-5'>格式</b><b class='flag-5'>轉換為</b>jpg<b class='flag-5'>格式</b>
    主站蜘蛛池模板: 99婷婷| 欧美色图28p | 天堂资源在线 | 黄色一级片在线观看 | 边摸边吃奶边做视频叫床韩剧 | 免费视频不卡 | 888xxxx免费视频 | sihu影院永久在线影院 | 日本高清视频wwww色 | 男男浪荡性受高hnp肉 | 在线观看视频你懂得 | 99热久久久久久久免费观看 | 黄色录像欧美 | 天天操综合网 | 午夜色网| 福利片网站 | 日本色黄 | 国产福利精品视频 | 国产精品11页 | 久青草免费视频手机在线观看 | 色香视频在线 | 国产精品资源在线播放 | 日本高清不卡视频 | 永久免费观看视频 | 五月婷婷综合网 | 国产特黄一级一片免费 | 日本午夜大片免费观看视频 | 日韩高清成人毛片不卡 | 最近国语剧情视频在线观看 | 免费激情网址 | 无遮挡很污很爽很黄的网站 | 永久黄网站色视频免费观看99 | 国产免费人成在线看视频 | www.啪啪.com | 狠狠se| 亚洲 另类色区 欧美日韩 | аⅴ天堂中文在线网 | 欧美zooz人禽交免费 | aa黄色大片 | 免费日韩网站 | 日本亚洲精品成人 |