Проект начался с 26 октября 2020 года и продолжает развиваться.
Подробное описание использования
DataBand (Помощник данных) — это быстрый инструмент для сбора и очистки данных, управления задачами, реального времени и пакетного анализа данных, визуализации данных, быстрой разработки шаблонов данных, набора ETL-инструментов, а также инструментов данных. Это легковесная, всеобъемлющая платформа для работы с большими данными.
Мы стремимся предоставлять лучшие решения через предоставление интеллектуальных приложений, аналитических услуг и консалтинговых услуг.
Источники данных:
databand-etl-mysql_ods
: сбор и очистка данных из MySQL, например, MySQL до ODS (временного промежуточного хранилища) (включая Redis, Kafka и т. д.);databand-etl-mysql_olap
: сбор и очистка данных из MySQL до OLAP хранилища данных;databand-etl-mysql_hadoop
: сбор и очистка данных из MySQL до распределённого хранилища Hadoop;databand-etl-logfile_ods
: сбор и очистка полуструктурированных лог-файлов, таких как JSON, XML, LOG, CSV файлы данных до ODS (временного промежуточного хранилища);databand-etl-logfile_olap
: сбор и очистка полуструктурированных данных лог-файлов для OLAP-системы;databand-etl-logfile_hadoop
: сбор и очистка данных лог-файлов для распределенного хранения Hadoop;databand-etl-mq_ods
: потребление данных через MQ для внесения в ODS-систему;databand-etl-mq_olap
: потребление данных через MQ для внесения в OLAP-систему;databand-etl-mq_hadoop
: потребление данных через MQ для внесения в Hadoop;databand-ml
: проект по машинному обучению и анализу данных;databand-job-springboot
: сервис планирования задач с использованием Spring Boot, поддерживающий выполнение shell, Hive, Python, Spark-SQL, Java-JAR задач;databand-streamjob-springboot
: потоковый проект анализа данных, поддерживающий консьюмпцию данных Kafka для записи в ClickHouse, MySQL, ES и т. д.;3-летнее видение цели
В настоящее время это простая консольная программа, запустите main для начала работы.- CsvMock.java: генерация CSV-файлов; после запуска вы найдете CSV-файл в папке FILE_PATH;
В настоящее время это простое консольное приложение, которое можно запустить непосредственно вызвав main().
Типы:
Определение данных, типы батч-логов, исходные данные являются csv, временно эти два бизнеса используются как пример батч-данных, фактически платформа будет независимой от бизнеса, она будет сосредоточена только на потоках данных и услугах данных. 1. Лог продаж товаров CSV: Обрабатываемый класс: org.databandtech.logmock.ProductSalesCSVLog
Код типа состояния:
Код HD-флага:
Код типа программы:
Логи потока данных, источник данных — kafka. На данный момент используются эти два бизнес-процесса как примеры потоковых данных; фактически платформа будет независимой от бизнеса и будет сосредоточена только на потоках данных и услугах.
Обрабатываемый класс: org.databandtech.mockmq.HotWordKafkaLog Тема Kafka: HOTWORDS
Способы архивации CSV-логов в HDFS:
Способы сохранения данных Kafka в HDFS:
Поля таблицы продукта внешней таблицы, SQL-запросы создания таблицы. Создание внешней таблицы для продукта
CREATE EXTERNAL TABLE product (
address STRING,
buycount INT,
buydiscount INT,
buytotle INT,
categoryid STRING,
citycode STRING,
color STRING,
modelid STRING,
productid STRING,
saledatetime STRING,
userid STRING
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
STORED AS TEXTFILE
LOCATION '/home/product';
Создание внешней таблицы для шоу
CREATE EXTERNAL TABLE show (
areacode STRING,
channelid STRING,
citycode STRING,
columnid STRING,
hd INT,
showdatetime STRING,
showduration INT,
showid STRING,
status STRING,
userid STRING
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
STORED AS TEXTFILE
LOCATION '/home/show';
```Загрузка данных в Hive
- Можно использовать `LOAD DATA` для импорта данных, полностью заменив существующие данные:
```sql
-- Для HDFS файла
LOAD DATA INPATH '/home/product/2020-12-20.csv'
OVERWRITE INTO TABLE product;
-- Для локального файла
LOAD DATA LOCAL INPATH '/home/product/2020-12-20.csv'
OVERWRITE INTO TABLE product;
Количество записей (Count)
SELECT COUNT(1) FROM product;
SELECT COUNT(1) FROM product WHERE cityCode='Guangzhou';
SELECT COUNT(1) FROM show;
SELECT COUNT(1) FROM show WHERE showid='Побег';
SELECT SUM(buytotal) FROM product WHERE modelid='DELL' AND instr(saledatetime,'2020-12') > 0;
Можно протестировать вывод результатов Hive:
X-ось (ключ):
Y-ось (значение):
product_order_count_by_category
, по годам, кварталам, месяцам, неделям, дням;product_order_count_by_model
, по годам, кварталам, месяцам, дням;product_order_count_by_city
, по годам, месяцам;product_order_count20_by_user
, по годам, месяцам;product_order_amount_by_category
, по годам, кварталам, месяцам, неделям, дням;product_order_amount_by_model
, по годам, кварталам, месяцам, дням;product_order_amount_by_city
, по годам, месяцам;product_order_amount20_by_user
, по годам, месяцам;#### Планирование статистики журнала эфира
X-ось — ключY-ось — значение
Индикаторы:
show_duration_by_city
, по годам, кварталам, месяцам, неделям, дням;show_duration_by_channel
, по годам, кварталам, месяцам;show_duration20_by_show
, по годам, месяцам;show_duration20_by_user
, по годам, месяцам;show_times_by_city
, по годам, кварталам, месяцам, неделям, дням;show_times_by_channel
, по годам, кварталам, месяцам;show_times20_by_show
, по годам, месяцам;show_times20_by_user
, по годам, месяцам;Дожидаемся завершения
Дожидаемся завершения### Обработка статистических данных в пакете
Количество заказов по категориям продуктов (по дням):
SELECT categoryid, saledatetime, SUM(buycount)
FROM product
GROUP BY categoryid, saledatetime
ORDER BY saledatetime;
Количество заказов по категориям продуктов (по дням, с указанием конкретной даты, используется для задач экспорта статистики):
SELECT categoryid, saledatetime, SUM(buycount)
FROM product
GROUP BY categoryid, saledatetime
HAVING saledatetime = '2020-12-30'
ORDER BY saledatetime;
Прочие аналитические запросы SQL приведены аналогично, данные по дням уже собраны, агрегация по неделям, месяцам, кварталам и годам выполняется на основе этих данных.Экспорт результатов в локальный файл, если записи совпадают, они будут заменены:
use default;
-- Сохранение на [ЛОКАЛЬНОМ]
INSERT OVERWRITE LOCAL DIRECTORY '/home/product_order_count_by_cate'
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
STORED AS TEXTFILE
-- SQL
SELECT categoryid, saledatetime, SUM(buycount)
FROM product
GROUP BY categoryid, saledatetime
ORDER BY saledatetime;
Экспорт результатов в HDFS, если записи совпадают, они будут заменены:
use default;
-- Сохранение на HDFS
INSERT OVERWRITE DIRECTORY '/home/product_order_count_by_cate'
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
STORED AS TEXTFILE
-- SQL
SELECT categoryid, saledatetime, SUM(buycount) FROM product GROUP BY categoryid, saledatetime ORDER BY saledatetime;
Выполнение запроса завершено. Для проверки сохранённых данных в HDFS выполните следующую команду:
hadoop fs -tail /home/product_order_count_by_cate/000000_0
Пакетная обработка статистического анализа
databand-job-springboot
: сервис планирования периодических задач, поддерживающий Shell, Hadoop MR, HiveSQL, Python, Spark, Flink, JavaJar задачи.
scheduledTaskJobMap()
для внедрения, доступна только java-инъекция на данный момент, в будущем будут поддерживаться базовая инъекция и конфигурационные файлы.
Типы задач включают:- Командная задача, экземпляр CommandExecuteJob
;HdfsBackupJob
;HdfsToLocalFileJob
;HiveSqlQueryJob
, выполнение DQL запросов Hive, требует возврата набора данных и его последующего анализа и хранения в базе данных, данные используются для отчетов и графиков;HiveSqlExecuteJob
, выполнение скрипта Hive, используется для операций DDL/DML, таких как загрузка данных;HadoopMRJob
, выполнение задач MapReduce в Hadoop;JobInstances
) и является многим к одному отношением к типам задач (JobType
).Способ запуска:
databand_scheduletask.sql
http://localhost:8081/getAllSchedule
http://localhost:8081/start? jobcode=WindowsDir1
http://localhost:8081/start? jobcode=WindowsIP1
http://localhost:8081/start? jobcode=hdfs_product2020
http://localhost:8081/start? jobcode=hdfs_toLocal2020
http://localhost:8081/start? jobcode=hdfs_toLocal2020_1
databand-streamjob-springboot
: сервис постоянной записи задач потока данных.Типы задач включают:
- Создание резервной копии исходных данных, создание резервной копии исходных данных из источника данных в HDFS, HdfsBackupJob;
- Хранение потока данных как записей MySQL (из Kafka), KafkaToMysqlJob;
- Хранение потока данных как записей ClickHouse (из Kafka), KafkaToClickHouseJob;
- Хранение потока данных как записей Kafka (из Kafka), KafkaToKafkaJob;
- Хранение потока данных как записей Elasticsearch (из Kafka), KafkaToEsJob;
KafkaConsumerApp
, источник данных — Kafka, использует EpgVodKafkaProducer
из databand-mock-mq
для автоматического создания тестовых данных в виде JSON объекта типа EpgVod;
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )