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

OSCHINA-MIRROR/zdyfjh2017-incubator-iotdb

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

Apache IoTDB — это интегрированный менеджер данных для сбора, хранения и анализа временных рядов. Он характеризуется легкостью, высокой производительностью и удобством использования, идеально интегрируется с экосистемами Hadoop и Spark и предназначен для применения в промышленных интернет-технологиях, где требуется быстрое внесение и сложный анализ огромного объёма временных данных.

http://www.apache.org/licenses/LICENSE-2.0

Кроме случаев, когда это требует законодательства или явно согласовано в письменной форме, программное обеспечение, распространяемое по данной лицензии, предоставляется на условиях "как есть". Без гарантий или условий любого вида, как явных, так и подразумеваемых. См. Лицензию для получения информации о специфическом языке, регулирующем права и условия использования данного программного обеспечения.--> English | Chinese

IoTDB

Build Status Coverage GitHub release License IoTDB Website Maven Version Gitpod Ready-to-Code

ОбзорIoTDB (Интернет вещей база данных) является системой управления данными для временных рядов, которая может предоставлять пользователям специальные услуги, такие как сбор, хранение и анализ данных. Благодаря своей легковесной структуре, высокой производительности и удобным функциям, а также бесшовной интеграции с экосистемами Hadoop и Spark, IoTDB удовлетворяет требованиям хранения больших наборов данных, высокопроизводительного ввода данных и сложного анализа данных в области промышленного Интернета вещей.

Основные возможности

Основные возможности 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. Для более подробного руководства посетите наш сайт по адресу User Guide.

Предварительные требования

Чтобы использовать IoTDB, вам потребуется:1. Java >= 1.8 (версии 1.8, 11 и 13 проверены. Убедитесь, что путь к среде установлен правильно). 2. Maven >= 3.1 (если вы хотите скомпилировать и установить IoTDB из исходного кода). 3. Установите максимальное количество открытых файлов как 65535, чтобы избежать ошибки "слишком много открытых файлов".

Установка

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

  • Установка из исходного кода. Если вам нужно самостоятельно изменять код, вы можете использовать этот метод.
  • Установка из двоичных файлов. Скачайте двоичные файлы с официального сайта. Этот метод рекомендуется, так как вы получите готовый к использованию пакет.
  • Использование Docker: путь к dockerfile — https://github.com/apache/iotdb/tree/master/docker/src/main

Здесь в разделе Быстрый старт мы даем краткое описание использования исходного кода для установки IoTDB. Для дополнительной информации обратитесь к главе 3 User Guide.## Сборка из исходного кода

Пропустите этот абзац, если вы используете Windows. Поскольку мы используем Thrift в качестве модуля RPC (коммуникация и определение протокола), Thrift включается во время компиляции, поэтому требуется Thrift Compiler версии 0.13.0 (или выше) для генерации кода на Java. Официально Thrift предоставляет двоичный компилятор для Windows, но к сожалению, они не предоставляют его для Unix OS. Однако мы скомпилировали Unix-компилятор самостоятельно и разместили его на GitHub, и с помощью плагина Maven он будет автоматически скачиваться во время компиляции. Этот компилятор работает корректно с gcc8 или более поздними версиями, Ubuntu, MacOS и CentOS, но предыдущие версии и другие операционные системы не гарантируются. Если вы обнаружите, что ваша версия gcc или операционная система не поддерживают предварительно скомпилированный компилятор, пожалуйста, обновите вашу версию gcc или следуйте официальным инструкциям 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>.

Если вы хотите скачать компилятор Thrift из другого места, вы можете добавить следующий параметр: -Dthrift.download-url=<THE_REMOTE_URL_FOR_DOWNLOADING> -Dthrift.exec.absolute.path=<THE_DOWNLOADED_BINARY_FILE_NAME>. Или вы можете напрямую изменить наш корневой pom, если вы достаточно опытны.

Вот официальный сайт Thrift: https://thrift.apache.org/. Вы можете скачать исходный код с помощью команды:

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

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

git checkout release/x.x.x

Под корневым путём iotdb:

> mvn clean package -DskipTests

Затем бинарная версия (включая как сервер, так и cli) будет доступна по пути 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: Сервер.## Запуск

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

Запуск 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 &

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

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

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

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

После установки IoTDB существует по умолчанию пользователь 'root', его пароль также 'root'. Пользователи могут использовать этого по умолчанию пользователя для входа в CLI и использования IoTDB. Скрипт запуска CLI находится в папке sbin. При выполнении скрипта пользователю следует указать IP, PORT, USER_NAME и PASSWORD. По умолчанию параметры равны -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


|_ | | _ _ || _ .|_ _ \ | | .--.|_/ | | \_| | | . \ | |) | | | / .'`\ \ | | | | | | | __'. | || _. | | | | |.' /| |) | ||'..' || |.'|______/ версия 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| +-----------------------------------+ количество групп хранения = 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


1. Запрос всех временных рядов в системе:

IoTDB> SHOW TIMESERIES +-------------------------------+------+---------------------+--------+--------+-----------+----+----------+ | временная_последовательность | alias|группа_хранения|dataType|кодировка|сжатие|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| +-------------------------------+------+---------------------+--------+--------+-----------+----+----------+ Общее количество временных_последовательностей = 2


2. Запрос конкретной временной последовательности (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| +-------------------------------+------+-------------+--------+--------+-----------+----+----------+ Общее количество временных последовательностей = 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-01T08:00:00.100|                    true|
|1970-01-01T08:00:00.200|                   false|
+-----------------------+------------------------+
Общее количество строк = 2

Вы также можете запросить несколько временных последовательностей с помощью одного SQL-запроса:

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

Команды для выхода из CLI:

IoTDB> quit
или
IoTDB> exit

Для получения более подробной информации о поддерживаемых командах IoTDB SQL, обратитесь к справочнику SQL.

Остановка IoTDB

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

Unix/OS X

sbin/stop-server.sh

Windows

sbin\stop-server.bat


## Сборка только сервера

Под корневым путем iotdb:

mvn clean package -pl server -am -DskipTests


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


## Сборка только командной строки

Под корневым путем iotdb:

mvn clean package -pl cli -am -DskipTests


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

# Использование инструмента импорта и экспорта CSV

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

# Часто задаваемые вопросы при компиляции
см. [Часто задаваемые вопросы при компиляции исходного кода](https://iotdb.apache.org/Development/ContributeGuide.html#_frequent-questions-when-compiling-the-source-code)

# Свяжитесь с нами
### Группа 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