<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          No.4時序數(shù)據(jù)庫隨筆 - 安裝

          共 5488字,需瀏覽 11分鐘

           ·

          2021-03-18 01:13

          2021 校招請閱讀:阿里云2021春招

          開篇寄語

          昨天是2021的正月初五,大家都迎了財神,孫金城 在這里祝?福大家 2021新春快樂,牛年大吉,萬事順?biāo)欤霞野部担?br>

          同時,也祝愿大家在新的一年,能以 “唯天下之至拙能勝天下之至巧” 的巧干、 “唯天下之至誠能勝天下之至偽”的坦蕩 并 踏著 有恒 這塊基石,在2021邁入人生的新臺階!!!


          不積跬步無以至千里,系統(tǒng)的學(xué)習(xí)一項領(lǐng)域知識也是一個 有恒 堅持的過程,我們既可以從原理入手,先知其所以然,也可以從操作入手,先知其然!本篇將給你一個低起點,從簡單做起,從安裝IoTDB,執(zhí)行第一個IoTDB SQL 作為2021學(xué)習(xí)IoTDB的起點....每天進(jìn)步一點點...

          本篇環(huán)境

          • MocOS 11.1

          • IoTDB 0.11.2

          • JDK 1.8.0_211

          二進(jìn)制安裝

          二進(jìn)制安裝是最簡單的安裝方式了,三部曲,下載解壓,啟動驗證,實操體驗:

          下載解壓

          jincheng:2021IoT jincheng.sunjc$ wget https://archive.apache.org/dist/iotdb/0.11.2/apache-iotdb-0.11.2-bin.zip

          jincheng:2021IoT jincheng.sunjc$ tar -zxf apache-iotdb-0.11.2-bin.zipjincheng:2021IoT jincheng.sunjc$ lsapache-iotdb-0.11.2    apache-iotdb-0.11.2-bin.zipjincheng:2021IoT jincheng.sunjc$

          啟動驗證

          jincheng:apache-iotdb-0.11.2 jincheng.sunjc$ nohup sbin/start-server.sh -rpc_port 6668 >/dev/null 2>&1 &[2] 24160jincheng:apache-iotdb-0.11.2 jincheng.sunjc$ sbin/start-cli.sh -h 127.0.0.1 -p 6668 -u root -pw root


          實操體驗

          操作部分需要對對時序數(shù)據(jù)概念有一定的了解,大家可以先看操作直觀體驗,也可以花2個小時進(jìn)行一下科普《No.1-Apache IoTDB 隨筆 - Time Series DBMS 綜述


          查看和創(chuàng)建 存儲組(STORAGE GROUP)

          STORAGE GROUP 是IoTDB 中組織時間序列數(shù)據(jù)的邏輯概念,在實際業(yè)務(wù)中你可以用STORAGE GROUP來邏輯區(qū)分不同的邏輯組織(部門/業(yè)務(wù)團隊)、地理區(qū)間(廠區(qū)/省市)等等你想對時序數(shù)據(jù)進(jìn)行大的分組區(qū)分的邏輯手段。細(xì)節(jié)我們后面介紹,這里先直觀體驗如果查看和創(chuàng)建:

          • SHOW STORAGE GROUP

          • SET STORAGE GROUP TO root.happy

          IoTDB> SHOW STORAGE GROUP+-------------+|storage group|+-------------++-------------+Empty set.It costs 0.222s
          IoTDB> SET STORAGE GROUP TO root.happyMsg: The statement is executed successfully.IoTDB> SHOW STORAGE GROUP+-------------+|storage group|+-------------+| root.happy|+-------------+Total line number = 1It costs 0.026sIoTDB>

          查看和創(chuàng)建 時間序列(TIMESERIES)

          TIMESERIES 是IoTDB 中的核心概念了,是實際時序數(shù)據(jù)的抽象,比如工業(yè)領(lǐng)域的某個傳感器數(shù)據(jù)的采集,對應(yīng)到IoTDB就是一個時間序列,我們使用CREATE TIMESERIES語法來創(chuàng)建新的時間序列,就像數(shù)據(jù)庫的DDL一樣,創(chuàng)建時間序列時需要定義時間序列指標(biāo)數(shù)據(jù)的數(shù)據(jù)的類型和編碼方式,同樣,這里先直觀體驗如果查看和創(chuàng)建:

          • CREATE TIMESERIES

          • SHOW TIMESERIES

          IoTDB> CREATE TIMESERIES root.happy.device1.sensor1.temperature WITH DATATYPE=FLOAT, ENCODING=RLEMsg: The statement is executed successfully.IoTDB> SHOW TIMESERIES+--------------------------------------+-----+-------------+--------+--------+-----------+----+----------+|                            timeseries|alias|storage group|dataType|encoding|compression|tags|attributes|+--------------------------------------+-----+-------------+--------+--------+-----------+----+----------+|root.happy.device1.sensor1.temperature| null|   root.happy|   FLOAT|     RLE|     SNAPPY|null|      null|+--------------------------------------+-----+-------------+--------+--------+-----------+----+----------+Total line number = 1It costs 0.019sIoTDB>

          細(xì)心的你一定發(fā)現(xiàn)了,除了我們剛才說的 STORAGE GROUP,數(shù)據(jù)類型、編碼方式、TIMESERIES還出現(xiàn)了 alias/tags/attributes這些陌生的字段,這些又是什么概念在IoTDB有什么作用呢?我們下一篇和大家進(jìn)行介紹,如果在下一篇還沒有出來之前,你已經(jīng)迫不及待了怎么辦?想必大家都知道,在Apache IoTDB社區(qū)還有一位大神 叫 喬嘉林,學(xué)習(xí)IoTDB,喬老師的文章不得不收藏哈,趕緊關(guān)注 Apache IoTDB 官方公眾號,高質(zhì)文章等你來...

          插入和查詢

          TIMESERIES的插入和查詢,就和傳統(tǒng)數(shù)據(jù)庫越來越接近了, IoTDB 中元數(shù)據(jù)的組織方式是樹形結(jié)構(gòu),上面的 root.happy.device1.sensor1.temperature就是一個樹的Path ,那么我們怎樣插入時間序列的值和查詢對應(yīng)的時間序列呢?同樣,這里先直觀體驗如果查看和創(chuàng)建:

          • INSERT INTO 

          • SELECT

          IoTDB> INSERT INTO root.happy.device1.sensor1(timestamp,temperature) values(5927, 25.72)Msg: The statement is executed successfully.IoTDB> SELECT * FROM root.happy.device1.sensor1+-----------------------------+--------------------------------------+|                         Time|root.happy.device1.sensor1.temperature|+-----------------------------+--------------------------------------+|1970-01-01T08:00:05.927+08:00|                                 25.72|+-----------------------------+--------------------------------------+Total line number = 1It costs 0.091sIoTDB>

          源碼和Docker安裝

          我們后續(xù)篇章介紹...


          帶著問題期待明天

          學(xué)習(xí)的路上總是好奇心驅(qū)動成長,不知道你在幾分鐘時間看完上面的內(nèi)容后,是否有問題?我這里有一個問題,那就是:“如果我的傳感器的值是 null 怎么辦?IoTDB支持null嗎?

          IoTDB> INSERT INTO root.happy.device1.sensor1(timestamp,temperature) values(5927, null)Msg: 401: line 1:75 mismatched input 'null' expecting {NOW, TRUE, FALSE, '-', '.', 'NaN', INT, EXPONENT, DATETIME, DOUBLE_QUOTE_STRING_LITERAL, SINGLE_QUOTE_STRING_LITERAL}

          上面的插入語句我將temperature的值設(shè)置為 null,得到來 mismatched input 'null' expecting的錯誤提示。那么目前IoTDB如何處理null的呢?

          IoTDB> INSERT INTO root.happy.device1.sensor1(timestamp,temperature) values(7925, NaN)Msg: The statement is executed successfully.IoTDB> SELECT * FROM root.happy.device1.sensor1+-----------------------------+--------------------------------------+|                         Time|root.happy.device1.sensor1.temperature|+-----------------------------+--------------------------------------+|1970-01-01T08:00:05.927+08:00|                                 52.72||1970-01-01T08:00:07.925+08:00|                                   0.0|+-----------------------------+--------------------------------------+Total line number = 2

          如上大家發(fā)現(xiàn)IoTDB用NaN來代表沒有值,查詢之后我們發(fā)現(xiàn)NaN應(yīng)該代表來當(dāng)前數(shù)據(jù)類型的默認(rèn)值。如上:FLOAT 的默認(rèn)值就是 0.0.  

          所以,這里的問題就是: “我們需要Apache IoTDB 對時間序列的值 支持 null 嗎?” 你的實際業(yè)務(wù)中有沒有場景不能用NaN默認(rèn)值,而必須允許null的存在?期待你的反饋,Apache IoTDB 為你的業(yè)務(wù)而生,你的要求就是IoTDB社區(qū)的需求!!!


          由我需要到我提供

          關(guān)于Apache IoTDB中是否要支持 nullable 的問題,歡迎你在公眾號留言,也歡迎大家關(guān)注社區(qū)動態(tài)。


          阿里招聘

          時序數(shù)據(jù)庫開發(fā)崗位

          (P7/P8/P9)

          (長期有效)


          職位描述:

          1. 精通Java/Scala編程

          2. 精通常用數(shù)據(jù)結(jié)構(gòu)和算法應(yīng)用,具備良好的、精益求精的設(shè)計思維,每一個bit都是客戶/技術(shù)價值。

          3. 了解Hadoop/Flink/Spark等計算框架和熟悉HBase/LevelDB/RocksDB等主流NoSQL數(shù)據(jù)庫,深入理解其實現(xiàn)原理和架構(gòu)優(yōu)勢劣勢;

          4. 具備分布式系統(tǒng)的設(shè)計和應(yīng)用的經(jīng)歷,能對分布式常用技術(shù)進(jìn)行應(yīng)用和改進(jìn)者優(yōu)先;

          5. 有開源社區(qū)貢獻(xiàn),并成為Flink/Spark/Druid/OpenTSDB/InfluxDB/IoTDB等社區(qū)的Committer/PMC者優(yōu)先;

          6. 要具備良好的團隊協(xié)作能力,良好的溝通表達(dá)能力,和對正確事情持之以恒的韌性和耐力。


          來!讓我看到你的簡歷,因為成就你的不僅僅是能力,更是雷厲風(fēng)行的執(zhí)行力!

          瀏覽 181
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  激情丁香五月婷婷 | 欧美顶级A一片视频 | 国产一区二区三区18 | 小泽玛利亚无码视频 | 手机在线看片亚洲 |