日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

apache iotdb_Apache-IoTDB

發布時間:2025/3/20 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 apache iotdb_Apache-IoTDB 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

IoTDB

簡介

IoTDB (Internet of Things Database) 是一個時序數據的數據管理系統,可以為用戶提供數據收集、存儲和分析等特定的服務。IoTDB由于其輕量級的結構、高性能和可用的特性,以及與Hadoop和Spark生態的無縫集成,滿足了工業IoTDB領域中海量數據存儲、高吞吐量數據寫入和復雜數據分析的需求。

主要特點

IoTDB的主要特點如下:

靈活的部署策略。IoTDB為用戶提供了一個在云平臺或終端設備上的一鍵安裝工具,以及一個連接云平臺和終端上的數據的數據同步工具。

硬件成本低。IoTDB可以達到很高的磁盤存儲壓縮比。

高效的目錄結構。IoTDB支持智能網絡設備對復雜時間序列數據結構的高效組織,同類設備對時間序列數據的組織,海量復雜時間序列數據目錄的模糊搜索策略。

高吞吐量讀寫。IoTDB支持數以百萬計的低功耗設備的強連接數據訪問、高速數據讀寫,適用于上述智能網絡設備和混合設備。

豐富的查詢語義。IoTDB支持跨設備和測量的時間序列數據的時間對齊、時間序列字段的計算(頻域轉換)和時間維度的豐富聚合函數支持。

學習成本非常低。IoTDB支持類似sql的語言、JDBC標準API和易于使用的導入/導出工具。

與先進的開放源碼生態系統的無縫集成。IoTDB支持分析生態系統,如Hadoop、Spark和可視化工具(如Grafana)。

目錄

快速開始

環境準備

安裝

從源碼構建

配置

開始

啟動 IoTDB

使用 IoTDB

使用 Cli 命令行

基本的 IoTDB 命令

停止 IoTDB

只編譯 server

只編譯 cli

使用 import-csv.sh

創建元數據

從 csv 文件導入數據的示例

運行 import shell

錯誤的數據文件

使用 export-csv.sh

運行 export shell

執行查詢

快速開始

這篇簡短的指南將帶您了解使用IoTDB的基本過程。如需更詳細的介紹,請訪問我們的網站用戶指南。

環境準備

要使用IoTDB,您需要:

Java >= 1.8 (目前 1.8、11和13 已經被驗證可用。請確保環變量境路徑已正確設置)。

Maven >= 3.1 (如果希望從源代碼編譯和安裝IoTDB)。

設置 max open files 為 65535,以避免"too many open files"錯誤。

安裝

IoTDB提供了三種安裝方法,您可以參考以下建議,選擇最適合您的一種:

從源代碼安裝。如果需要自己修改代碼,可以使用此方法。

從二進制文件安裝。推薦的方法是從官方網站下載二進制文件,您將獲得一個開箱即用的二進制發布包。

在這篇《快速入門》中,我們簡要介紹如何使用源代碼安裝IoTDB。如需進一步資料,請參閱《用戶指南》第3章。

從源碼構建

從 git 克隆源代碼:

git clone https://github.com/apache/incubator-iotdb.git

默認的主分支是dev分支,如果你想使用某個發布版本x.x.x,請切換分支:

git checkout release/x.x.x

在 incubator-iotdb 根目錄下執行 maven 編譯:

> mvn clean package -DskipTests

執行完成之后,可以在distribution/target/apache-iotdb-{project.version}-incubating-bin.zip找到編譯完成的二進制版本(包括服務器和客戶端)

注意:"service-rpc/target/generated-sources/thrift" 和 "server/target/generated-sources/antlr4" 目錄需要添加到源代碼根中,以免在 IDE 中產生編譯錯誤。

配置

配置文件在"conf"文件夾下

環境配置模塊(iotdb-env.bat, iotdb-env.sh),

系統配置模塊(iotdb-engine.properties)

日志配置模塊(logback.xml)。

開始

您可以通過以下步驟來測試安裝,如果執行后沒有返回錯誤,安裝就完成了。

啟動 IoTDB

可以通過運行 sbin 文件夾下的 start-server 腳本啟動 IoTDB。

# Unix/OS X

> sbin/start-server.sh -c -rpc_port

# Windows

> sbin\start-server.bat -c -rpc_port

"-c" and "-rpc_port" 都是可選的。

選項 "-c" 指定了配置文件所在的文件夾。

選項 "-rpc_port" 指定了啟動的 rpc port。

如果兩個選項同時指定,那么rpc_port將會覆蓋conf_path下面的配置。

使用 IoTDB

使用 Cli 命令行

IoTDB提供了與服務器交互的不同方式,這里我們將介紹使用 Cli 工具插入和查詢數據的基本步驟。

安裝 IoTDB 后,有一個默認的用戶root,它的默認密碼也是root。用戶可以使用這個

默認用戶登錄 Cli 并使用 IoTDB。Cli 的啟動腳本是 sbin 文件夾中的 start-cli 腳本。

在執行腳本時,用戶應該指定 IP,端口,USER_NAME 和 密碼。默認參數為-h 127.0.0.1 -p 6667 -u root -pw root。

下面是啟動 Cli 的命令:

# Unix/OS X

> sbin/start-cli.sh -h 127.0.0.1 -p 6667 -u root -pw root

# Windows

> sbin\start-cli.bat -h 127.0.0.1 -p 6667 -u root -pw root

命令行客戶端是交互式的,所以如果一切就緒,您應該看到歡迎標志和聲明:

_____ _________ ______ ______

|_ _| | _ _ ||_ _ `.|_ _ \

| | .--.|_/ | | \_| | | `. \ | |_) |

| | / .'`\ \ | | | | | | | __'.

_| |_| \__. | _| |_ _| |_.' /_| |__) |

|_____|'.__.' |_____| |______.'|_______/ version x.x.x

IoTDB> login successfully

IoTDB>

基本的 IoTDB 命令

現在,讓我們介紹創建 timeseries、插入數據和查詢數據的方法。

IoTDB中的數據組織為 timeseries。每個 timeseries 包含多個數據-時間對,由一個存儲組擁有。

在定義 timeseries 之前,我們應該先使用SET storage group來定義一個存儲組,下面是一個例子:

IoTDB> SET STORAGE GROUP TO root.ln

我們也可以使用SHOW STORAGE GROUP來檢查正在創建的存儲組:

IoTDB> SHOW STORAGE GROUP

+-----------------------------------+

| Storage Group|

+-----------------------------------+

| root.ln|

+-----------------------------------+

storage group number = 1

在設置存儲組之后,我們可以使用CREATE TIMESERIES來創建一個新的TIMESERIES。

在創建 timeseries 時,我們應該定義它的數據類型和編碼方案。這里我們創建兩個 timeseries:

IoTDB> CREATE TIMESERIES root.ln.wf01.wt01.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN

IoTDB> CREATE TIMESERIES root.ln.wf01.wt01.temperature WITH DATATYPE=FLOAT, ENCODING=RLE

為了查詢特定的timeseries,我們可以使用 SHOW TIMESERIES . 表示被查詢的 timeseries 的路徑. 默認值是null, 表示查詢系統中所有的 timeseries (同SHOW TIMESERIES root).

以下是一些示例:

查詢系統中所有 timeseries:

IoTDB> SHOW TIMESERIES

+-------------------------------+---------------+--------+--------+

| Timeseries| Storage Group|DataType|Encoding|

+-------------------------------+---------------+--------+--------+

| root.ln.wf01.wt01.status| root.ln| BOOLEAN| PLAIN|

| root.ln.wf01.wt01.temperature| root.ln| FLOAT| RLE|

+-------------------------------+---------------+--------+--------+

Total timeseries number = 2

查詢指定的 timeseries(root.ln.wf01.wt01.status):

IoTDB> SHOW TIMESERIES root.ln.wf01.wt01.status

+------------------------------+--------------+--------+--------+

| Timeseries| Storage Group|DataType|Encoding|

+------------------------------+--------------+--------+--------+

| root.ln.wf01.wt01.status| root.ln| BOOLEAN| PLAIN|

+------------------------------+--------------+--------+--------+

Total timeseries number = 1

插入 timeseries 數據是IoTDB的一個基本操作,你可以使用INSERT 命令來完成這個操作。

在插入之前,您應該指定時間戳和后綴路徑名:

IoTDB> INSERT INTO root.ln.wf01.wt01(timestamp,status) values(100,true);

IoTDB> INSERT INTO root.ln.wf01.wt01(timestamp,status,temperature) values(200,false,20.71)

你剛才插入的數據會顯示如下:

IoTDB> SELECT status FROM root.ln.wf01.wt01

+-----------------------+------------------------+

| Time|root.ln.wf01.wt01.status|

+-----------------------+------------------------+

|1970-01-01T08:00:00.100| true|

|1970-01-01T08:00:00.200| false|

+-----------------------+------------------------+

Total line number = 2

您還可以使用一條SQL語句查詢多個 timeseries 數據:

IoTDB> SELECT * FROM root.ln.wf01.wt01

+-----------------------+--------------------------+-----------------------------+

| Time| root.ln.wf01.wt01.status|root.ln.wf01.wt01.temperature|

+-----------------------+--------------------------+-----------------------------+

|1970-01-01T08:00:00.100| true| null|

|1970-01-01T08:00:00.200| false| 20.71|

+-----------------------+--------------------------+-----------------------------+

Total line number = 2

你可以使用如下命令退出:

IoTDB> quit

or

IoTDB> exit

有關IoTDB SQL支持的命令的更多信息,請參見Chapter 5: IoTDB SQL文檔。

停止 IoTDB

server 可以使用 "ctrl-C" 或者執行下面的腳本:

# Unix/OS X

> sbin/stop-server.sh

# Windows

> sbin\stop-server.bat

只編譯 server

在 incubator-iotdb 根目錄下執行:

> mvn clean package -pl server -am -DskipTests

編譯完成后, IoTDB server 將生成在: "server/target/iotdb-server-{project.version}".

只編譯 cli

在 incubator-iotdb 根目錄下執行:

> mvn clean package -pl cli -am -DskipTests

編譯完成后, IoTDB cli 將生成在 "cli/target/iotdb-cli-{project.version}".

使用 import-csv.sh

創建元數據

SET STORAGE GROUP TO root.fit.d1;

SET STORAGE GROUP TO root.fit.d2;

SET STORAGE GROUP TO root.fit.p;

CREATE TIMESERIES root.fit.d1.s1 WITH DATATYPE=INT32,ENCODING=RLE;

CREATE TIMESERIES root.fit.d1.s2 WITH DATATYPE=TEXT,ENCODING=PLAIN;

CREATE TIMESERIES root.fit.d2.s1 WITH DATATYPE=INT32,ENCODING=RLE;

CREATE TIMESERIES root.fit.d2.s3 WITH DATATYPE=INT32,ENCODING=RLE;

CREATE TIMESERIES root.fit.p.s1 WITH DATATYPE=INT32,ENCODING=RLE;

從 csv 文件導入數據的示例

Time,root.fit.d1.s1,root.fit.d1.s2,root.fit.d2.s1,root.fit.d2.s3,root.fit.p.s1

1,100,'hello',200,300,400

2,500,'world',600,700,800

3,900,'IoTDB',1000,1100,1200

運行 import shell

# Unix/OS X

> tools/import-csv.sh -h -p -u -pw -f

# Windows

> tools\import-csv.bat -h -p -u -pw -f

錯誤的數據文件

csvInsertError.error

使用 export-csv.sh

運行 export shell

# Unix/OS X

> tools/export-csv.sh -h -p -u -pw -td [-tf ]

# Windows

> tools\export-csv.bat -h -p -u -pw -td [-tf ]

執行查詢

select * from root.fit.d1

總結

以上是生活随笔為你收集整理的apache iotdb_Apache-IoTDB的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。