1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/zdyfjh2017-incubator-iotdb

Клонировать/Скачать
README_ZH.md 25 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 24.06.2025 05:12 a83c1dc

English | Русский | 中文# IoTDB Статус сборки coverage GitHub release Лицензия IoTDB Website Maven Version# Описание IoTDB (Internet of Things Database) — это система управления данными для временных рядов, которая предоставляет пользователям специальные услуги по сбору, хранению и анализу данных. IoTDB благодаря своей легковесной структуре, высокой производительности и доступным характеристикам, а также благодаря бесшовному интегрированию с экосистемой Hadoop и Spark, удовлетворяет потребности промышленных систем IoT в хранении больших объемов данных, записи данных с высокой пропускной способностью и сложном анализе данных.

Основные характеристики

Основные характеристики IoTDB следующие:1. Гибкая стратегия развертывания. IoTDB предоставляет пользователям инструмент для одноклик-установки на облачных платформах или терминальных устройствах, а также инструмент для синхронизации данных между облачной платформой и терминалами. 2. Низкие затраты на оборудование. IoTDB обеспечивает высокий уровень сжатия данных на жёстком диске. 3. Эффективная структура каталога. IoTDB поддерживает эффективную организацию сложных временных рядов данных для умных сетевых устройств, а также поддерживает размытое поисковое решение для каталогов с огромным количеством сложных временных рядов данных. 4. Высокая пропускная способность чтения и записи. IoTDB поддерживает сильное соединение данных для доступа к данным от миллионов низкоэнергетических устройств, а также быстрое чтение и запись данных, что делает его подходящим для умных сетевых устройств и смешанных устройств. 5. Обширные семантические запросы. IoTDB поддерживает временные ряды данных, синхронизированные по времени между устройствами и измерениями, вычисление временных рядовых полей (преобразование в частотную область) и поддержку обширных агрегирующих функций по временной оси. 6. Очень низкий порог входа. IoTDB поддерживает язык, похожий на SQL, стандартные API JDBC и удобные инструменты импорта/экспорта. 7. Гладкую интеграцию с передовыми открытыми экосистемами.IoTDB поддерживает аналитические экосистемы, такие как Hadoop, Spark и средства визуализации (например, Grafana).Для получения последней информации о IoTDB посетите официальный сайт IoTDB. Если вы столкнулись с проблемами или обнаружили ошибки при использовании IoTDB, пожалуйста, отправьте их в JIRA.

Содержание

Быстрый старт

Эта краткая инструкция поможет вам начать работу с IoTDB. Для более подробной информации посетите наш сайт руководство пользователя.

Подготовка окружения

Чтобы использовать IoTDB, вам потребуется:

  • Java Runtime Environment (JRE) версии 8 или выше.
  • Операционная система Linux, Windows или macOS.
  • Минимальное количество свободного места на диске для установки и работы с данными.1. Java >= 1.8 (уже проверены версии 1.8, 11 и 13. Убедитесь, что переменные среды настроены правильно).
  1. Maven >= 3.1 (если вы хотите собирать и устанавливать IoTDB из исходного кода).
  2. Установите максимальное количество открытых файлов в 65535, чтобы избежать ошибки "слишком много открытых файлов".

Установка

IoTDB предлагает три метода установки. Вы можете выбрать наиболее подходящий для вас метод, руководствуясь следующими рекомендациями:

  • Установка из исходного кода. Этот метод подходит, если вам нужно вносить изменения в исходный код.

  • Установка из двоичных файлов. Рекомендуемый метод — загрузка двоичных файлов с официального сайта. Вы получите готовый к использованию пакет.

  • Использование Docker: путь до dockerfile — https://github.com/apache/iotdb/tree/master/docker/src/main

В этом руководстве мы кратко рассмотрим процесс установки IoTDB из исходного кода. Для получения дополнительной информации обратитесь к разделу 3 «Руководства пользователя».

Сборка из исходного кодаЕсли вы используете Windows, пропустите этот раздел. Мы используем Thrift как модуль RPC для обеспечения связи и протокола между клиентом и сервером, поэтому нам требуется компилятор Thrift 0.13.0 (или выше) для генерации соответствующего кода на Java. Thrift предоставляет только двоичный компилятор для Windows, а для Unix-систем требуется собирать его из исходного кода. Однако мы уже собрали компилятор Thrift и загрузили его на GitHub. С помощью плагина Maven он автоматически загружается во время сборки. Этот предварительно скомпилированный компилятор Thrift работает на gcc8, Ubuntu, CentOS и MacOS, но не проверен на более ранних версиях gcc и других операционных системах. Если вы сталкиваетесь с проблемами, связанными с компилятором Thrift во время сборки, обновите ваш gcc до более новой версии или соберите компилятор Thrift самостоятельно, следуя инструкциям на официальном сайте Thrift, и поместите его в директорию {project_root}\thrift\target\tools\thrift_0.12.0_0.13.0_linux.exe. Если у вас уже установлен совместимый компилятор Thrift, вы можете указать его при запуске Maven с помощью следующих параметров: -Dthrift.download-url=http://apache.org/licenses/LICENSE-2.0.txt -Dthrift.exec.absolute.path=<YOUR LOCAL THRIFT BINARY FILE>. Вы также можете использовать следующие параметры Maven для изменения адреса загрузки компилятора Thrift: -Dthrift.download-url=<THE REMOTE URL FOR DOWNLOADING> -Dthrift.exec.absolute.path=<THE DOWNLOADED BINARY FILE NAME>.Если вы достаточно знакомы с Maven, вы можете напрямую изменить наш корневой файл pom, чтобы избежать использования этих параметров каждый раз при сборке. Официальный сайт Thrift: https://thrift.apache.org/Склонировать исходный код из git:```

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


Основной веткой по умолчанию является `dev`. Если вы хотите использовать какой-либо выпуск `x.x.x`, переключитесь на соответствующую ветку:

git checkout release/x.x.x


В корневой директории `iotdb` выполните сборку с помощью Maven:

mvn clean package -DskipTests


После завершения сборки, в директории **distribution/target/apache-iotdb-{project.version}-bin.zip** будет находиться скомпилированная версия (включая сервер и клиент).

> Внимание: Директории "thrift/target/generated-sources/thrift" и "antlr/target/generated-sources/antlr4" должны быть добавлены в корневую директорию исходного кода, чтобы избежать ошибок компиляции в IDE.

### Конфигурация

Файлы конфигурации находятся в папке "conf".
* Модуль конфигурации окружения (`iotdb-env.bat`, `iotdb-env.sh`),
* Модуль системной конфигурации (`iotdb-engine.properties`),
* Модуль конфигурации логирования (`logback.xml`).

Дополнительная информация доступна в [Главе 3: Сервер](http://iotdb.apache.org/ru/UserGuide/Master/Server/Config%20Manual.html).

## Начало работы

Вы можете проверить установку следующими шагами. Если после выполнения команд нет ошибок, то установка завершена успешно.

### Запуск IoTDB

IoTDB можно запустить, выполнив скрипт `start-server` из папки `sbin`.

Unix/OS X

nohup sbin/start-server.sh >/dev/null 2>&1 & или nohup sbin/start-server.sh -c <conf_path> -rpc_port <rpc_port> >/dev/null 2>&1 &

> sbin\start-server.bat -c <conf_path> -rpc_port <rpc_port>
  • Опции -c и -rpc_port являются необязательными.
  • Опция -c указывает путь к директории с конфигурационными файлами.
  • Опция -rpc_port указывает порт RPC при запуске.
  • Если обе опции указаны, то значение -rpc_port переопределит конфигурацию в conf_path.

#### Использование CLI

IoTDB предоставляет различные способы взаимодействия с сервером. Здесь мы рассмотрим базовые шаги для вставки и запроса данных с использованием CLI.

После установки IoTDB есть пользователь по умолчанию `root`, у которого пароль также `root`. Этот пользователь может войти в CLI и использовать IoTDB. Скрипт запуска 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

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

|_ | | _ _ || _ .|_ _ \ | | .--.|_/ | | \_| | | . \ | |) | | | / .'`\ \ | | | | | | | __'. | || _. | | | | |.' /| |) | ||'..' || |.'|______/ версия x.x.x

IoTDB> успешно выполнен вход IoTDB>


#### Основные команды IoTDB

Теперь давайте рассмотрим способы создания временных рядов, вставки данных и запроса данных.

Данные в IoTDB организованы в виде временных рядов. Каждый временной ряд состоит из нескольких пар «данные-время» и принадлежит к одной группе хранения. Перед определением временного ряда следует сначала использовать команду 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 для создания нового временного ряда. При создании временного ряда следует определить его тип данных и схему кодирования. В данном примере создаются два временных ряда:

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).

Вот несколько примеров:

  1. Запрос всех временных рядов в системе:
IoTDB> SHOW TIMESERIES
+-------------------------------+------+---------------------+--------+--------+-----------+----+----------+
|                   timeseries  | alias|         storage group|datatype|encoding|compression|tags|attributes|
+-------------------------------+------+---------------------+--------+--------+-----------+----+----------+
|       root.ln.wf01.wt01.status|  null|              root.ln| BOOLEAN|   PLAIN|     SNAPPY|null|      null|
|  root.ln.wf01.wt01.temperature|  null|              root.ln|   FLOAT|     RLE|     SNAPPY|null|      null|
+-------------------------------+------+---------------------+--------+--------+-----------+----+----------+
total number of timeseries = 2
  1. Поиск указанного временного ряда (root.ln.wf01.wt01.status):
IoTDB> SHOW TIMESERIES root.ln.wf01.wt01.status
+-------------------------------+------+-------------+--------+--------+-----------+----+----------+
|                   timeseries  | alias|storage group|dataType|encoding|compression|tags|attributes|
+-------------------------------+------+-------------+--------+--------+-----------+----+----------+
|       root.ln.wf01.wt01.status|  null|      root.ln| BOOLEAN|   PLAIN|     SNAPPY|null|      null|
+-------------------------------+------+-------------+--------+--------+-----------+----+----------+
Общее количество timeseries = 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|
+-----------------------+------------------------+
Общее количество строк = 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|
+-----------------------+--------------------------+-----------------------------+
Общее количество строк = 2
```
Для выхода из системы используйте следующие команды:

```
IoTDB> quit
или
IoTDB> exit
```

Дополнительную информацию о командах, поддерживаемых IoTDB SQL, можно найти в [документации по SQL](http://iotdb.apache.org/zh/UserGuide/Master/Operation%20Manual/SQL%20Reference.html).

### Остановка IoTDB

Сервер можно остановить с помощью "Ctrl+C" или выполнением следующих скриптов:

```
# Unix/OS X
> sbin/stop-server.sh

# Windows
> sbin\stop-server.bat
```

## Компиляция только сервера

Выполните команду в корневой директории проекта:

```
> mvn clean package -pl server -am -DskipTests
```

После компиляции, IoTDB сервер будет создан в директории: "server/target/iotdb-server-{project.version}".

## Компиляция только CLI

Выполните команду в корневой директории проекта:

```
> mvn clean package -pl cli -am -DskipTests
```

После компиляции, IoTDB CLI будет создан в директории "cli/target/iotdb-cli-{project.version}".

# Инструмент импорта/экспорта CSV

Для просмотра [инструмента импорта/экспорта CSV](https://iotdb.apache.org/ru/UserGuide/Master/System%20Tools/CSV%20Tool.html)

# Частые ошибки при компиляции
Для просмотра [частых ошибок при компиляции](https://iotdb.apache.org/ru/Development/ContributeGuide.html#%D1%87%D0%B0%D1%81%D1%82%D1%8B%D0%B5-%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8-%D0%BF%D1%80%D0%B8-%D0%BA%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8)

# Контакты
### QQ группы

* Группа общения Apache IoTDB: 659990460

### Группа WeChat

* Добавьте в друзья tietouqiao, мы пригласим вас в группу

Для получения дополнительной информации, просмотрите [вступление в сообщество](https://github.com/apache/iotdb/issues/1995)

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/zdyfjh2017-incubator-iotdb.git
git@api.gitlife.ru:oschina-mirror/zdyfjh2017-incubator-iotdb.git
oschina-mirror
zdyfjh2017-incubator-iotdb
zdyfjh2017-incubator-iotdb
master