английский | 中文
IoTDB (база данных Интернета вещей) — это система управления данными временных рядов, которая предоставляет пользователям определенные услуги, включая сбор, хранение и анализ данных. Благодаря своей легкой структуре, высокой производительности и удобным функциям, а также полной интеграции с экосистемами Hadoop и Spark, IoTDB отвечает требованиям хранения больших объемов данных, высокой пропускной способности ввода данных и комплексного анализа данных в области промышленного Интернета вещей.
Нажмите, чтобы получить дополнительную информацию
IoTDB зависит от TsFile, который представляет собой формат столбчатого хранилища, предназначенный для данных временных рядов. Ветка iotdb
проекта TsFile используется для развертывания версии SNAPSHOT для проекта IoTDB.
Основные особенности IoTDB следующие:
Для получения последней информации об IoTDB посетите официальный сайт IoTDB. Если вы столкнулись с какими-либо проблемами или обнаружили какие-либо ошибки при использовании IoTDB, сообщите о проблеме в Jira.
Это краткое руководство проведет вас через основной процесс использования IoTDB. Для более подробной информации посетите Руководство пользователя нашего веб-сайта.
Чтобы использовать IoTDB, вам необходимо иметь:
# Linux
> sudo sysctl -w net.core.somaxconn=65535
# FreeBSD or Darwin
> sudo sysctl -w kern.ipc.somaxconn=65535
(Это руководство основано на установке Ubuntu 22.04.)
Убедитесь, что Git
установлен, если он отсутствует, просто установите его через:
sudo apt install git
Убедитесь, что Java
установлена, если она отсутствует, просто установите ее через:
sudo apt install default-jdk
sudo apt install flex
sudo apt install bison
sudo apt install libboost-all-dev
Обычно OpenSSL уже установлен, однако в нем отсутствуют заголовочные файлы, которые нам нужно скомпилировать. Поэтому убедитесь, что они установлены:
sudo apt install libssl-dev
Сначала убедитесь, что git
работает.
Обычно на новом Mac, как только вы просто вводите git
в окне Terminal
, появляется всплывающее окно с вопросом, хотите ли вы завершить установку инструментов разработчика Mac. Просто скажи да. Как только это будет завершено, вы сможете использовать git
.
Затем установите Homebrew
— если он еще не установлен, поскольку мы собираемся устанавливать все с помощью Homebrew
.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Как только это будет сделано, установите Java
, если он еще не установлен:
brew install java
В зависимости от вашей версии Homebrew вам будет предложено выполнить одно из следующих действий (в зависимости от типа процессора вашего устройства).
В основном на моделях на базе процессоров Intel:
sudo ln -sfn /usr/local/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk
В основном на моделях на базе ARM:
sudo ln -sfn /opt/homebrew/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk
Для построения Thrift
нам необходимо добавить к картинке еще две зависимости.
Однако это необходимо только при включении профиля with-cpp
:
brew install boost
brew install bison
brew install openssl
Затем установите Chocolatey
— если он еще не установлен, поскольку мы собираемся устанавливать все с помощью Chocolatey
.
https://chocolatey.org/install
choco install git.install
choco install openjdk
choco install visualstudio2022community
choco install visualstudio2022buildtools
choco install visualstudio2022-workload-nativedesktop
choco install winflexbison
choco install boost-msvc-14.2
choco install openssl
IoTDB предоставляет три метода установки. Вы можете воспользоваться следующими предложениями и выбрать тот, который подходит вам лучше всего:
Здесь, в кратком руководстве, мы даем краткое описание использования исходного кода для установки IoTDB. Для получения дополнительной информации обратитесь к Руководству пользователя.
Пропустите эту главу, если вы используете Windows.
Поскольку мы используем Thrift для нашего модуля RPC (определение связи и протокола), мы задействуем Thrift во время компиляции, поэтому для генерации кода Thrift Java требуется компилятор Thrift 0.13.0 (или выше). Thrift официально предоставляет двоичный компилятор для Windows, но, к сожалению, не предоставляет его для ОС Unix.
Если у вас есть разрешение на установку нового программного обеспечения, используйте apt install
или yum install
или brew install
, чтобы установить компилятор Thrift. (Если у вас уже установлен бережливый компилятор, пропустите этот шаг.) Затем вы можете добавить следующий параметр при запуске Maven: -Dthrift.download-url=http://apache.org/licenses/LICENSE-2.0.txt -Dthrift.exec.absolute.path=<YOUR LOCAL THRIFT BINARY FILE>
.
Если нет, то вам придется скомпилировать бережливый компилятор, и для этого сначала потребуется установить библиотеку повышения. Поэтому мы сами скомпилировали компилятор Unix и выложили его на GitHub, и с помощью плагина maven он будет загружен автоматически во время компиляции. Этот компилятор отлично работает с gcc8 или более поздней версией, Ubuntu MacOS и CentOS, но гарантия на предыдущие версии и другие ОС не распространяется.
Если вы не можете автоматически загрузить Thrift-компилятор из-за проблем с сетью, вы можете загрузить его самостоятельно, а затем либо: переименуйте Thrift-файл в {project_root}thrifttargettoolsthrift_0.12.0_0.13.0_linux.exe
; или добавьте команды Maven: -Dthrift.download-url=http://apache.org/licenses/LICENSE-2.0.txt -Dthrift.exec.absolute.path=<YOUR LOCAL THRIFT BINARY FILE>
.
Вы можете скачать исходный код по адресу:
git clone https://github.com/apache/iotdb.git
Веткой разработки по умолчанию является основная ветка, если вы хотите использовать выпущенную версию xxx:
git checkout vx.x.x
Или оформить заказ на ветку большой версии, например, ветка 1.0 — rel/1.0.
git checkout rel/x.x
В корневом пути iotdb:
> mvn clean package -pl distribution -am -DskipTests
После сборки дистрибутив IoTDB находится в папке «distribution/target».
По пути iotdb/iotdb-client:
> mvn clean package -pl cli -am -DskipTests
После сборки интерфейс IoTDB находится в папке «cli/target».
Используйте -P with-cpp
для компиляции клиента cpp. (Более подробную информацию можно найти в файле Readme client-cpp.)
ПРИМЕЧАНИЕ. Каталоги « thrift/target/generated-sources/thrift
», « thrift-sync/target/generated-sources/thrift
», « thrift-cluster/target/generated-sources/thrift
», « thrift-influxdb/target/generated-sources/thrift
"и" antlr/target/generated-sources/antlr4
" необходимо добавить в источники корни, чтобы избежать ошибок компиляции в IDE.
В IDEA вам просто нужно щелкнуть правой кнопкой мыши имя корневого проекта и выбрать « Maven->Reload Project
» после успешного запуска mvn package
.
Файлы конфигурации находятся в папке «conf».
datanode-env.bat
, datanode-env.sh
),iotdb-datanode.properties
)logback.xml
).Для получения дополнительной информации см. Руководство по настройке.
Чтобы протестировать установку, вы можете выполнить следующие шаги. Если после выполнения не возвращается ошибка, установка завершена.
Пользователи могут запустить 1C1D IoTDB с помощью автономного сценария start в папке sbin.
# Unix/OS X
> sbin/start-standalone.sh
# Windows
> sbinstart-standalone.bat
IoTDB предлагает различные способы взаимодействия с сервером. Здесь мы представляем основные этапы использования инструмента Cli для вставки и запроса данных.
После установки IoTDB появляется пользователь по умолчанию «root», его пароль по умолчанию также «root». Пользователи могут использовать этого пользователя по умолчанию для входа в Cli и использования IoTDB. Сценарий запуска Cli — это сценарий запуска Cli в папке sbin. При выполнении сценария пользователь должен назначить IP, ПОРТ, ИМЯ_ПОЛЬЗОВАТЕЛЯ и ПАРОЛЬ. Параметры по умолчанию: «-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
> sbinstart-cli.bat -h 127.0.0.1 -p 6667 -u root -pw root
Командная строка командной строки является интерактивной, поэтому вы должны увидеть приветственный логотип и инструкции, если все готово:
_____ _________ ______ ______
|_ _| | _ _ ||_ _ `.|_ _
| | .--.|_/ | | _| | | `. | |_) |
| | / .'` | | | | | | | __'.
_| |_| __. | _| |_ _| |_.' /_| |__) |
|_____|'.__.' |_____| |______.'|_______/ version x.x.x
IoTDB> login successfully
IoTDB>
Теперь давайте представим способ создания временных рядов, вставки данных и запроса данных.
Данные в IoTDB организованы как временные ряды. Каждая временная серия включает в себя несколько пар данные-время и принадлежит базе данных. Прежде чем определять таймсерию, мы должны сначала определить базу данных с помощью CREATE DATABASE, и вот пример:
IoTDB> CREATE DATABASE root.ln
Мы также можем использовать SHOW DATABASES для проверки создаваемой базы данных:
IoTDB> SHOW DATABASES
+-------------+
| Database|
+-------------+
| root.ln|
+-------------+
Total line number = 1
После настройки базы данных мы можем использовать CREATE 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
Чтобы запросить конкретную временную серию, мы можем использовать SHOW TIMESERIES. представляют местоположение таймсерии. Значением по умолчанию является «null», при котором запрашиваются все таймсерии в системе (так же, как при использовании «SHOW TIMESERIES root»). Вот несколько примеров:
IoTDB> SHOW TIMESERIES
+-----------------------------+-----+-------------+--------+--------+-----------+----+----------+
| Timeseries|Alias|Database|DataType|Encoding|Compression|Tags|Attributes|
+-----------------------------+-----+-------------+--------+--------+-----------+----+----------+
|root.ln.wf01.wt01.temperature| null| root.ln| FLOAT| RLE| SNAPPY|null| null|
| root.ln.wf01.wt01.status| null| root.ln| BOOLEAN| PLAIN| SNAPPY|null| null|
+-----------------------------+-----+-------------+--------+--------+-----------+----+----------+
Total line number = 2
IoTDB> SHOW TIMESERIES root.ln.wf01.wt01.status
+------------------------+-----+-------------+--------+--------+-----------+----+----------+
| timeseries|alias|database|dataType|encoding|compression|tags|attributes|
+------------------------+-----+-------------+--------+--------+-----------+----+----------+
|root.ln.wf01.wt01.status| null| root.ln| BOOLEAN| PLAIN| SNAPPY|null| null|
+------------------------+-----+-------------+--------+--------+-----------+----+----------+
Total line number = 1
Вставка данных временных рядов — это базовая операция 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-01T00:00:00.100Z| true|
|1970-01-01T00:00:00.200Z| false|
+------------------------+------------------------+
Total line number = 2
Вы также можете запросить несколько данных временных рядов, используя один оператор SQL:
IoTDB> SELECT * FROM root.ln.wf01.wt01
+------------------------+-----------------------------+------------------------+
| Time|root.ln.wf01.wt01.temperature|root.ln.wf01.wt01.status|
+------------------------+-----------------------------+------------------------+
|1970-01-01T00:00:00.100Z| null| true|
|1970-01-01T00:00:00.200Z| 20.71| false|
+------------------------+-----------------------------+------------------------+
Total line number = 2
Чтобы изменить часовой пояс в Cli, вы можете использовать следующий SQL:
IoTDB> SET time_zone=+08:00
Time zone has set to +08:00
IoTDB> SHOW time_zone
Current time zone: Asia/Shanghai
Добавьте, тогда результат запроса будет отображаться с использованием нового часового пояса.
IoTDB> SELECT * FROM root.ln.wf01.wt01
+-----------------------------+-----------------------------+------------------------+
| Time|root.ln.wf01.wt01.temperature|root.ln.wf01.wt01.status|
+-----------------------------+-----------------------------+------------------------+
|1970-01-01T08:00:00.100+08:00| null| true|
|1970-01-01T08:00:00.200+08:00| 20.71| false|
+-----------------------------+-----------------------------+------------------------+
Total line number = 2
Команды для выхода из Cli:
IoTDB> quit
or
IoTDB> exit
Дополнительную информацию о командах, поддерживаемых IoTDB SQL, см. в Руководстве пользователя.
Сервер можно остановить с помощью «ctrl-C» или следующего сценария:
# Unix/OS X
> sbin/stop-standalone.sh
# Windows
> sbinstop-standalone.bat
см. Использование инструмента импорта и экспорта CSV.
см. Часто задаваемые вопросы при компиляции исходного кода.
tietouqiao
или liutaohua001
, и тогда мы пригласим вас в группу.дополнительную информацию см. в разделе «Присоединяйтесь к сообществу»!