По мере продвижения цифровой трансформации,,данныеуправлениеиз Рабочих мест становится все большеиз Компания включила этот вопрос в повестку дня。делатьдляHadoopСамая строгая экологияиз Управление метаданнымииинструменты обнаружения,Атлас играет важную роль в своей середине. Но его официальная документация не очень богата.,Это тоже недостаточно подробно. Поэтому я составил этот документ, чтобы каждый мог научиться его использовать.
Авторские права на документ - публичный аккаунт большой поток данных все,Не используйте в коммерческих целях。По соответствующим техническим вопросам и установочным пакетам обращайтесь к автору.ДугуфэнПрисоединяйтесь к соответствующим группам технического обмена, чтобы обсудить и получить。
Зачем нам нужно управление данными? Существует много предприятий, много данных, и бизнес-данные постоянно повторяются. Наблюдается поток кадров, неполная документация и неясная логика. Данные сложно понять интуитивно и сложно их поддерживать в дальнейшем.
В исследованиях и разработках больших данных существует множество баз данных и таблиц для необработанных данных.
После агрегирования данных будет много таблиц измерений.
В последние годы объем данных бешено растет, что повлекло за собой ряд проблем. Что касается поддержки данных для команд искусственного интеллекта, наиболее частый вопрос, который мы слышим, — «им нужен правильный набор данных для анализа». Мы начали понимать, что, хотя мы создали масштабируемое хранилище данных, вычисления в реальном времени и другие возможности, наша команда по-прежнему тратила время на поиск подходящих наборов данных для анализа.
То естьда Нам не хватает праваданныересурсыизуправлять。фактически,Есть много компаний, которые предоставляют решения с открытым исходным кодом для решения вышеуказанных проблем.,этот То естьдаданные Обнаружитьи Управление метаданнымиинструмент。
Проще говоря, Управление метаданнымидадля Верноданныересурсы Входить ХОРОШОэффективныйизорганизовать。этоиспользовать Юаньданныеприйти на помощьуправлятьихизданные。этотакже может помочьданные Профессиональная коллекция、организовать、доступ и обогащение Юаньданные,Для поддержки управления данными.
Тридцать лет назад активом данных могла быть таблица в базе данных Oracle. Однако на современном предприятии мы имеем ошеломляющее количество различных типов информационных активов. Это могут быть таблицы в реляционной базе данных или хранилище NoSQL, потоковые данные в реальном времени, функции в системе искусственного интеллекта, метрики в платформе метрик, информационные панели в инструменте визуализации данных.
Современное Управление метаданными должно содержать все эти типы изданных активов и позволять работникам, работающим с данными, более эффективно использовать эти активы для выполнения своей работы.
Таким образом, Управление метаданными должно иметь следующие функции:
Ниже представлена реализация архитектуры управления метаданными. Различные архитектуры соответствуют различным реализациям с открытым исходным кодом.
На следующей диаграмме изображена архитектура метаданных первого поколения. Обычно это классический монолитный интерфейс (вероятно, приложение Flask), подключенный к основному хранилищу для запросов (обычно MySQL/Postgres), поисковому индексу для обслуживания поисковых запросов (обычно Elasticsearch) и для этого поколения 1.5 этой архитектуры, возможно, один раз. был достигнут предел «рекурсивных запросов» реляционных баз данных, использовались индексы графов, которые обрабатывали запросы графов происхождения (обычно Neo4j).
Вскоре появилась архитектура второго поколения. Монолитное приложение было разделено на службы, расположенные перед базой данных хранилища метаданных. Служба предоставляет API, который позволяет записывать метаданные в систему с использованием механизма push.
архитектура третьего поколениядаоснованный на событияхиз Управление метаданными Архитектура,Клиенты могутв соответствии сихизнужно быть другимиз Способи Юаньданныеданныевзаимодействие с библиотекой。
Поиск метаданных с малой задержкой, возможность выполнять полнотекстовый и ранжированный поиск по атрибутам метаданных, графические запросы по связям метаданных, а также возможности полного сканирования и анализа.
Apache Atlas использует эту архитектуру и тесно связан с экосистемой Hadoop.
Следующая диаграмма представляет собой простое визуальное представление современного ландшафта метаданных:
(Включая некоторые решения с закрытым исходным кодом)
В качестве основного направления исследования можно использовать и другие варианты, но они не являются предметом данной статьи.
Поскольку сегодня применение больших данных становится все более распространенным, управление данными всегда было огромной проблемой, с которой сталкивались предприятия.
Большинство компаний просто обрабатывают данные, но добиться их происхождения, классификации и т. д. Рынок также остро нуждается в технической системе, ориентированной на управление данными. В это время появился Atlas.
Адрес официального сайта Атласа: https://atlas.apache.org/
Atlas — это платформа управления данными и метаданными Hadoop.
Atlas — это набор расширяемых и расширяемых основных базовых служб управления, которые позволяют предприятиям эффективно и результативно соблюдать требования соответствия в Hadoop и обеспечивают интеграцию со всей экосистемой корпоративных данных.
Apache Атлас предоставляет организациям открытое из Управление метаданнымииуправление Функция,для создания своих информационных ресурсов из каталога,Классифицировать и управлять этими активами,И проданные учёные,Группы аналитиков и управления данными обеспечивают возможности совместной работы над этими активами данных.
Если вы хотите управлять этими данными, недостаточно использовать слова, документы и т. д. Вы должны использовать изображения. Атлас — это инструмент, который превращает метаданные в графики.
Атлас включает в себя следующие компоненты:
AtlasСхема архитектурыследующее:
Ядро Atlas содержит следующие компоненты:
Типовая система: Atlas позволяет пользователям определять модели для объектов метаданных, которыми они хотят управлять. Модель состоит из определений, называемых «типами». Экземпляры «типов», называемые «сущностями», представляют собой фактические управляемые объекты метаданных. Тип Система — это компонент, который позволяет пользователям определять типы и сущности и управлять ими. Все объекты метаданных, управляемые Atlas по умолчанию (например, таблицы Hive), моделируются с использованием типов и представляются в виде сущностей. Чтобы хранить новые типы метаданных в Atlas, вам необходимо понять концепцию компонентов системы типов.
нуждаться Уведомлениеизключевой моментдаAtlasсередина Моделированиеизв целомхарактеристикапозволятьданныеуправлять员и集成商定义技术Юаньданныеи业务Юаньданные。также Можно Функция использования Atlasиз определяет богатую связь между двумя из.
графический движок: Atlas внутренне использует модель Graph для сохранения объектов метаданных, которыми он управляет. Этот подход обеспечивает большую гибкость для эффективного управления разнообразными связями между объектами метаданных. Компонент графического движка отвечает за преобразование между типами и сущностями системы типов Atlas, а также за базовую модель сохранения графики. Помимо управления графическими объектами, графический движок создает соответствующие индексы для объектов метаданных, чтобы их можно было эффективно искать. Atlas использует JanusGraph для хранения объектов метаданных.
Сбор/Экспорт:коллекциякомпонентыпозволять Воля Юаньданныедобавить вAtlas。такой же,“Экспорт”компоненты ВоляAtlasобнаружениз Юаньданные Изменить видимостьдлясобытие。потребитель Можно использовать Эти события изменения реагируют на изменения метаданных в реальном времени.
В Atlas пользователи могут управлять метаданными следующими двумя способами:
API: Все функции Atlas реализуются через REST. Конечным пользователям доступен API, который позволяет создавать, обновлять и удалять типы и сущности. Это также основной механизм запроса и обнаружения типов и объектов, управляемых Atlas.
Messaging: В дополнение к API пользователи также могут выбрать интеграцию с Atlas с помощью интерфейса обмена сообщениями на основе Kafka. Это полезно для передачи объектов метаданных в Atlas и использования Atlas для обработки событий изменения метаданных, которые можно использовать для создания приложений. Интерфейс обмена сообщениями особенно полезен, если вы хотите использовать более слабую интеграцию с Atlas для достижения лучшей масштабируемости, надежности и т. д. Atlas использует Apache. Kafka действует как сервер уведомлений для связи между перехватчиками и последующими потребителями событий уведомлений метаданных. События записываются в разные темы Kafka с помощью хуков и Atlas.
Atlas поддерживает интеграцию нескольких источников метаданных «из коробки». В будущем будут добавлены дополнительные интеграции. В настоящее время Atlas поддерживает извлечение метаданных и управление ими из следующих источников:
Интеграция означает две вещи: модель метаданных, определенная Atlas, используется для представления объектов этих компонентов. Atlas предоставляет компоненты для приема объектов метаданных из этих компонентов (либо в реальном времени, либо в некоторых случаях в пакетном режиме).
Метаданные, управляемые Atlas, используются различными приложениями для удовлетворения многих потребностей управления.
Atlas Admin UI: Этот компонент представляет собой веб-приложение, которое позволяет менеджерам данных и ученым обнаруживать и комментировать метаданные. Наиболее важным здесь является интерфейс поиска и язык запросов, подобный SQL, который можно использовать для запроса типов метаданных и объектов, управляемых Atlas. Админ Пользовательский интерфейс с использованием REST Atlas API для построения его функциональности.
Tag Based Policies:Apache Ranger — это расширенное решение для управления безопасностью экосистемы Hadoop с широкой интеграцией с различными компонентами Hadoop. Благодаря интеграции с Atlas Ranger позволяет администраторам безопасности определять политики безопасности на основе метаданных для эффективного управления. Ranger является потребителем событий изменения метаданных, о которых сообщает Atlas.
У Atlas есть много ошибок при установке. В этом руководстве подробно описан весь процесс установки Atlas2.1.0.
Что еще некомфортнее, так это , Atlas не предоставляет установочные пакеты, скачатьиз — это пакет исходного кода. , вам придется скомпилировать и упаковать его самостоятельно.
Пожалуйста, перейдите на официальный сайт https://atlas.apache.org/#/Downloads.
скачать папаратив ренсенции из источник Пакет кода В этой статье используется версия 2.1.0.
Внутренние сайты работают быстрее
https://mirrors.tuna.tsinghua.edu.cn/apache/atlas/2.1.0/apache-atlas-2.1.0-sources.tar.gz
Уведомление,нуждаться Первый Установить maven, потому что это использование разработки Maven из Java веб-инженерия. версии maven3.6.3 достаточно
Некоторые адреса для скачивания
http://maven.apache.org/download.cgi
https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
Загрузите в каталог /usr/local Linux.
cd /usr/local
Разархивируйте файл
tar -zxvf apache-maven-3.6.3-bin.tar.gz
Настройка переменных среды
vi /etc/profile
export MAVEN_HOME=/usr/local/apache-maven-3.6.3
export PATH=MAVEN_HOME/bin:PATH
Обновить переменные среды
source /etc/profile
Проверить версию
mvn -v
Настройте переменные среды maven. Обратите внимание, что в Китае необходимо настроить внутренние образы maven. Обычно используются образы Alibaba, Huawei, Tsinghua и другие, vi /usr/local/apache-maven-3.6.3/conf/settings.xml.
<mirror>
<id>alimaven</id>
<name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
Скопируйте этот файл settings.xml в ~/.m2/
cp settings.xml .m2/
Разархивируйте пакет исходного кода
tar -zxvf apache-atlas-2.1.0-sources.tar.gz
Измените hbase Zookeeper Hive и другие зависимые версии до согласованной версии (или совместимой версии) в вашей собственной среде.
Pom-файл родительского проекта
<zookeeper.version>3.4.14</zookeeper.version>
<hbase.version>2.2.3</hbase.version>
<solr.version>7.7.2</solr.version>
Atlas может использовать встроенный hbase-solr в качестве базового компонента хранения и поиска индексов, или вы можете использовать внешний hbase и solr. Если вы хотите использовать встроенный hbase-solr, используйте следующую команду для компиляции и упаковки cd apache-atlas-. источники- 2.1.0/export MAVEN_OPTS="-Xms2g -Xmx2g" mvn clean -DskipTests package -Pdist,embedded-hbase-solr
Нет необходимости встраивать его, просто mvn clean -DskipTests package -Pdist
После изменения пути это произойдет очень быстро. Пожалуйста, подождите терпеливо.
Субмодуль atlasizwebui середина зависит от nodejs и будет перенаправлен в связанные библиотеки зависимостей для загрузки из центрального хранилища nodejsизсередина.
После завершения компиляции будет сгенерирован результат упаковки. Местоположение: новый дистрибутив/целевой каталог в каталоге исходного кода.
Если ошибок нет и вы видите строку успеха, значит, операция успешна.
После завершения составления Атласа,может быть осуществленоAtlasиз Установлено。Atlasиз Установить основнойда Установить Атласиз Серверная часть, то есть страница Атлас и зуправить, и убедитесь, что Атлас и Кафка Hbase Интеграция таких компонентов, как Solr.
Системная архитектура Atlas выглядит следующим образом. Убедившись, что базовое хранилище и интерфейс пользовательского интерфейса работают нормально, вы можете приступить к интеграции и отладке с Hive и другими компонентами.
После завершения составления Атласа,может быть осуществленоAtlasиз Установлено。Atlasиз Установить основнойда Установить Атласиз Серверная часть, то есть страница Атлас и зуправить, и убедитесь, что Атлас и Кафка Hbase Интеграция таких компонентов, как Solr.
Убедившись, что базовое хранилище и интерфейс пользовательского интерфейса работают нормально, вы можете приступить к интегрированной отладке с помощью Hive и других компонентов.
1. Подготовка среды
Перед установкой необходимо сначала подготовить
JDK1.8
Zookeeper
Kafka
Hbase
Solr
При запуске Запустить Атлас эти переменные среды и адреса будут Конфигурация, поэтому обязательно убедитесь, что вышеуказанные компоненты работают нормально.
Поскольку при компиляции можно выбрать внутреннюю интеграцию, эти Атласы можно занести, но JDK должен быть установлен.
При установке Altas Solr необходимо заранее создать коллекцию.
bin/solr create -c vertex_index -shards 3 -replicationFactor 2
bin/solr create -c edge_index -shards 3 -replicationFactor 2
bin/solr create -c fulltext_index -shards 3 -replicationFactor 2
Убедитесь, что создание прошло успешно в Solr.
2、Установить Атлас
Перейдите по пути к скомпилированному пакету apache-atlas-sources-2.1.0/distro/target.
Скопируйте созданный установочный пакет apache-atlas-2.1.0-server.tar.gz в целевой путь.
Разархивируйте:
tar -zxvf apache-atlas-2.1.0-server.tar.gz
3. Изменить конфигурацию
Введите каталог conf:
vi atlas-env.sh
Укажите здесь JAVA_HOME и следует ли использовать встроенный автозагрузку.
export JAVA_HOME=/opt/jdk1.8.0_191/
export MANAGE_LOCAL_HBASE=true
export MANAGE_LOCAL_SOLR=true
Если сипользовать встроено, то Конфигурация завершается и переходит непосредственно к Запустить Атлас
Но в большинстве случаев параметр use уже должен иметь компоненты для интеграции, поэтому для него установлено значение false.
export JAVA_HOME=/opt/jdk1.8.0_191/
export MANAGE_LOCAL_HBASE=false
export MANAGE_LOCAL_SOLR=false
#Note ИсправлятьHbaseКонфигурация пути к файлу
export HBASE_CONF_DIR=/opt/hbase/conf
Исправлятьдругой Конфигурация
vim atlas-application.properties
Вот настройка Hbase Solr и т. д. Конфигурация
#HbaseAddress Это адрес Hbase Configurationizzookeeper.
atlas.graph.storage.hostname=slave01:2181,slave02:2181,slave03:2181
atlas.audit.hbase.zookeeper.quorum=slave01:2181,slave02:2181,slave03:2181
#solrserver адрес
atlas.graph.index.search.solr.http-urls=http://slave01:8984/solr
#kafkaадрес
atlas.notification.embedded=false
atlas.kafka.zookeeper.connect=slave01:2181,slave02:2181,slave03:2181
atlas.kafka.bootstrap.servers=slave01:9092,slave02:9092,slave03:9092
#atlasaddress
atlas.rest.address=http://slave01:21000
bin/atlas_start.py
После успешного запуска посетите:
http://slave01:21000
вход администратора/администратора
Страница Атласа имеет очень богатые функции и может управлять метаданными и отображать происхождение данных.
основной поиск позволяет использовать объект по имени типа,ассоциацияиз Классификация/отметьте, чтобы продолжить Запрос,И поддерживает фильтрацию свойств сущностей и свойств категорий/тегов.
Вы можете выполнить фильтрацию на основе атрибутов по нескольким атрибутам, используя условия И/ИЛИ.
Поддерживаемые операторы фильтров
Atlas серединаиз Расширенный поиск, также известный как на основе DSL поиск.
Доменно-ориентированный поиск (DSL) — это язык с простым синтаксисом, имитирующий язык структурированных запросов (SQL), популярный в реляционных базах данных.
Конкретный синтаксис можно найти в Atlas DSL Grammer (формат Antlr G4) на Github.
Пример. Чтобы получить сущность типа Таблица, имя которой может быть time_dim или customer_dim:
from Table where name = 'time_dim' or name = 'customer_dim'
Добавление категорий к сущностям
Как только классификация «PII» будет добавлена к объекту «hdfs_path», классификация будет распространена на все затронутые объекты в пути происхождения, включая таблицу «Сотрудники», представления «us_employees» и «uk_employees», как показано ниже.
Обновить классификацию, связанную с сущностью
Любые обновления классификации, связанной с объектом, также будут видны во всех объектах, на которые распространяется классификация.
Проще говоря, эта функция может отслеживать, куда передаются данные.
Глоссарий, также известный как глоссарий, предоставляет бизнес-пользователям соответствующий словарь, который позволяет связывать термины (слова) друг с другом и классифицировать их так, чтобы их можно было понимать в различных контекстах. Эти термины затем можно сопоставить с такими активами, как базы данных, таблицы, столбцы и т. д. Это помогает абстрагироваться от технических терминов, связанных с хранилищем, и позволяет пользователям находить/использовать данные в более знакомом им словаре.
Вы можете просмотреть различные сведения о термине, щелкнув его имя в пользовательском интерфейсе глоссария. На каждой вкладке на странице сведений представлены различные сведения об этом термине.
Когда переключатель находится в положении «Категории», на панели будут перечислены все словари вместе с иерархией категорий. Это список возможных взаимодействий в этом представлении.
Если термин имеет классификацию, объекту назначено наследовать ту же классификацию.
Благодаря функции глоссария активы данных и бизнес-системы связаны между собой.
Существуют проблемы совместимости между Atlas и Hive. Эта статья основана на Atlas2.1.0, совместимом с развертыванием CDH6.3.2. Версия Hive — 2.1.1. Проблемы с другими версиями в этом документе не обсуждаются.
Чтобы быть совместимым с Hive2.1.1, исходный код необходимо изменить и перекомпилировать.
apache-atlas-sources-2.1.0\addons\hive-bridge
①.org/apache/atlas/hive/bridge/HiveMetaStoreBridge.java 577ХОРОШО
String catalogName = hiveDB.getCatalogName() != null ? hiveDB.getCatalogName().toLowerCase() : null;
Изменить на:
String catalogName = null;
②.org/apache/atlas/hive/hook/AtlasHiveHookContext.java 81 —
this.metastoreHandler = (listenerEvent != null) ? metastoreEvent.getIHMSHandler() : null;
Изменить на:C:\Users\Heaton\Desktop\apache-atlas-2.1.0-sources\apache-atlas-sources-2.1.0\addons
this.metastoreHandler = null;
#Должен быть упакован по этому пути,Только тогда вы сможете добраться до каталога первого уровня.
компакт-диск /usr/local/src/atlas/apache-atlas-2.1.0/conf
zip -u /usr/local/src/atlas/apache-atlas-2.1.0/hook/hive/atlas-plugin-classloader-2.1.0.jar atlas-application.properties
<property>
<name>hive.exec.post.hooks</name>
<value>org.apache.atlas.hive.hook.HiveHook</value>
</property>
HIVE_AUX_JARS_PATH=/usr/local/src/atlas/apache-atlas-2.1.0/hook/hive
<property>
<name>hive.exec.post.hooks</name>
<value>org.apache.atlas.hive.hook.HiveHook</value>
</property>
<property>
<name>hive.reloadable.aux.jars.path</name>
<value>/usr/local/src/atlas/apache-atlas-2.1.0/hook/hive</value>
</property>
HIVE_AUX_JARS_PATH=/usr/local/src/atlas/apache-atlas-2.1.0/hook/hive
Вам необходимо отправить настроенный пакет Atlas на каждый узел улья, а затем перезапустить кластер.
./bin/import-hive.sh
#Введите имя пользователя: admin, введите пароль: admin;
Войдите в Atlas, чтобы просмотреть информацию о метаданных.
Просто запустите скрипт hive для получения статистики ресурсов Hera.
use sucx_test
;
-- Количество устройств, обновленных вчера
create table if not exists qs_tzl_ProductTag_result(
pid string
,category string
,category_code string
,tag_name string
,tag_value string
,other string
,update_time string
)
partitioned by (tag_id string)
STORED AS PARQUET TBLPROPERTIES('parquet.compression'='SNAPPY')
;
insert overwrite table qs_tzl_ProductTag_result partition(tag_id='3014')
select
T1.product_id as pid
,T2.category
,cast(from_unixtime(unix_timestamp()) as string) as update_time
from (select
product_id
from COM_PRODUCT_UPGRADE_STAT_D where p_day='20200901'
) T1
left join (select category
from bi_ods.ods_smart_product where dt='20200901'
) T2
on T1.product_id=T2.id
;
После выполнения проверьте происхождение qs_tzl_ProductTag_result на уровне таблицы как
Поле происхождения pid
atlas
Не поддерживается в официальной документации spark sql
Для парсинга нужно использовать сторонний пакет.
Адрес: https://github.com/hortonworks-spark/spark-atlas-connector
1. Пакет локально после клонирования git
mvn package -DskipTests
2. После упаковки в каталоге spark-atlas-connector/spark-atlas-connector-assembly/target имеется jar-файл spark-atlas-connector-assembly-${version}.jar. Загрузите банку на сервер. Следует отметить, что не загружайте jar в каталог spark-atlas-connector/spark-atlas-connector/target из-за отсутствия соответствующих пакетов зависимостей.
3. Поместите spark-atlas-connector-assembly-${version}.jar в фиксированный каталог, например /opt/resource.
Сначала войдите в клиент Spark-SQL.
spark-sql --master yarn \
--jars /opt/resource/spark-atlas-connector_2.11-0.1.0-SNAPSHOT.jar \
--files /opt/resource/atlas-application.properties \
--conf spark.extraListeners=com.hortonworks.spark.atlas.SparkAtlasEventTracker \
--conf spark.sql.queryExecutionListeners=com.hortonworks.spark.atlas.SparkAtlasEventTracker \
--conf spark.sql.streaming.streamingQueryListeners=com.hortonworks.spark.atlas.SparkAtlasStreamingQueryEventTracker
осуществлять hera из Задача по статистике ресурсов
CREATE EXTERNAL TABLE IF NOT EXISTS sucx_hera.ads_hera_task_mem_top_10(
`job_id` BIGINT COMMENT «Идентификатор задачи»,`user` STRING COMMENT 'сосредоточиться налюди', `applicationId` STRING COMMENT 'yarn выполнить из приложения id',
`memorySeconds` BIGINT COMMENT 'памятьиспользует время и',
`startedTime` BIGINT COMMENT «Время начала»,
`finishedTime` BIGINT COMMENT 'конец времени',
`elapsedTime` BIGINT COMMENT «Время бега»,
`vcoreSeconds` BIGINT COMMENT 'vcoreиспользовать время и')
ROW FORMAT SERDE
'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe'
WITH SERDEPROPERTIES (
'field.delim'='\t',
'serialization.format'='\t')
STORED AS INPUTFORMAT
'org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat'
OUTPUTFORMAT
'org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat'
LOCATION
'cosn://sucx-big-data/bi//sucx_hera/ads_hera_task_mem_top_10';
insert overwrite table sucx_hera.ads_hera_task_mem_top_10
select
job_id,user,applicationId,memorySeconds,startedTime,finishedTime,elapsedTime,vcoreSeconds
from
(SELECT
top.job_id,
row_number() over(distribute by top.applicationId ORDER BY sso.id) as num,
case when sso.name is null then operator
else sso.name end as user,
top.applicationId,
top.memorySeconds,
top.startedTime,
top.finishedTime,
top.elapsedTime,
top.vcoreSeconds
FROM (
select * from sucx_hera.dws_hera_task_mem_top_10 where dt = '20200901' ) top
left join bi_ods.ods_hera_job_monitor monitor
on monitor.dt='20200901' and top.job_id=monitor.job_id
left join bi_ods.ods_hera_sso sso
on sso.dt='20200901' and find_in_set(sso.id,monitor.user_ids) >0 order by job_id ) temp
where temp.num = 1
После выполнения просмотреть ads_hera_task_mem_top_10
Поверхностная кровь
Обратите внимание, что этот пакет не поддерживает spark
Полевая поддержка.
Если вам нужна поддержка искрового поля, вы можете преобразовать искровой код в куст и запустить его или провести собственное исследование.
Хотя атлас хорош, многие сцены все еще не могут удовлетворить наши потребности. На данный момент необходимо внести некоторые изменения. Существует два способа вторичной разработки: один — разработка на основе Atlas Api, а другой — изменение исходного кода.
http://atlas.apache.org/api/v2/index.html
DiscoveryREST
http://hostname:21000/api/atlas/v2/search/basic?classification=class1
Поддержка параметров: запрос, typeName, классификация, ignoreDeletedEntities, предел, смещение.
code:https://github.com/apache/atlas/blob/6bacbe946bbc5ca72118304770d5ad920695bd52/webapp/src/main/java/org/apache/atlas/web/rest/DiscoveryREST.java
# Искать все Table
http://hostname:21000/api/atlas/v2/search/dsl?typeName=Table
# Запрос owner Префикс John из Table
http://hostname:21000/api/atlas/v2/search/attribute?typeName=Table&attrName=owner&attrValuePrefix=John
# Запрос Table из некоторых свойств, таких как: guid, ownerName, searchParameters ждать
http://hostname:21000/api/atlas/v2/search/saved/Table
# Не совсем понял (возврат изданных и того что выше API Точно так же)
http://hostname:21000/api/atlas/v2/search/saved
# Запрос EntityType - Table Что дальше entity.
http://hostname:21000/api/atlas/v2/search/saved/execute/Table
# Запрос guid для e283d8c1-ae19-4f4b-80c0-38031788383b из EntityType Что дальше entity.
http://hostname:21000/api/atlas/v2/search/saved/execute/guid/e283d8c1-ae19-4f4b-80c0-38031788383b
LineageREST
# Запрос guid для a95cb57f-4643-4edf-b5a5-0f1de2e0f076 из сущности из родословной
http://hostname:21000/api/atlas/v2/lineage/a95cb57f-4643-4edf-b5a5-0f1de2e0f076
EntityREST
# Запрос guid для 48f29229-47a9-4b05-b053-91e6484f42a1 из организации
http://hostname:21000/api/atlas/v2/entity/guid/48f29229-47a9-4b05-b053-91e6484f42a1
# Запрос guid для 48f29229-47a9-4b05-b053-91e6484f42a1 из организацииизаудитданные
http://hostname:21000/api/atlas/v2/entity/48f29229-47a9-4b05-b053-91e6484f42a1/audit
# Запрос guid для 48f29229-47a9-4b05-b053-91e6484f42a1 из организации Принадлежностьиз classifications
http://hostname:21000/api/atlas/v2/entity/guid/48f29229-47a9-4b05-b053-91e6484f42a1/classifications
# в соответствии с EntityType из уникального свойства найти объект
# Следующее: имя да DB только одно свойство. Находить name=Logging из DB.
http://hostname:21000/api/atlas/v2/entity/uniqueAttribute/type/DB?attr:name=Logging
# Запрос entity и classification Да связано?
http://hostname:21000/api/atlas/v2/entity/guid/48f29229-47a9-4b05-b053-91e6484f42a1/classification/Dimension
# Пакетный запрос объектов
http://hostname:21000/api/atlas/v2/entity/bulk?guid=e667f337-8dcc-468b-a5d0-96473f8ede26&guid=a95cb57f-4643-4edf-b5a5-0f1de2e0f076
RelationshipREST
# Запрос guid для 726c0120-19d2-4978-b38d-b03124033f41 из relationship
# Примечание: отношения можно рассматривать какда Родословнаяизкрай
http://hostname:21000/api/atlas/v2/relationship/guid/726c0120-19d2-4978-b38d-b03124033f41
TypesREST
http://hostname:21000/api/atlas/v2/types/typedef/guid/e0ca4c40-6165-4cec-b489-2b8e5fc7112b
http://hostname:21000/api/atlas/v2/types/typedef/name/Table
http://hostname:21000/api/atlas/v2/types/typedefs/headers
http://hostname:21000/api/atlas/v2/types/typedefs
http://hostname:21000/api/atlas/v2/types/enumdef/name/hive_principal_type
http://hostname:21000/api/atlas/v2/types/enumdef/guid/ee30446a-92e1-4bbc-aa0a-66ac21970d88
http://hostname:21000/api/atlas/v2/types/structdef/name/hive_order
http://hostname:21000/api/atlas/v2/types/structdef/guid/0b602605-8c88-4b60-a177-c1c671265294
http://hostname:21000/api/atlas/v2/types/classificationdef/name/PII
http://hostname:21000/api/atlas/v2/types/classificationdef/guid/3992eef8-fd74-4ae7-8b35-fead363b2122
http://hostname:21000/api/atlas/v2/types/entitydef/name/DataSet
http://hostname:21000/api/atlas/v2/types/entitydef/guid/5dca20ce-7d57-4bc3-a3f1-93fa622c32b1
http://hostname:21000/api/atlas/v2/types/relationshipdef/name/process_dataset_outputs
http://hostname:21000/api/atlas/v2/types/relationshipdef/guid/5d76dae0-6bad-4d19-b9b2-cb0cdc3b53d5
GlossaryREST
http://hostname:21000/api/atlas/v2/glossary
http://hostname:21000/api/atlas/v2/glossary/302dc8f8-3bc8-4878-9ba2-0c585ca6de3d
местная среда разработки
Запустите HBase и solr
Потому что вAtlas
нуждатьсяиспользоватьприезжатьHBase
а такжеslor
。Удобен для отладки, перед распаковкой можно скомпилировать встроенныйHБаза и подошва
изtar。
Дополнение к документации
Создайте папку и скопируйте файлы, необходимые для Atlas.
Скопируйте файлы из скомпилированного встроенного исходного каталога HBase и Solr distro/target/conf в каталог conf, как показано на рисунке выше. Скопируйте все файлы в разделе «Дополнения/модели» исходного кода. Скопируйте все содержимое atlas/webapp/target исходного кода в каталог веб-приложения.
Запуск исходного кода
Импортируйте клонированный исходный код в IDEA. Настройте параметры запуска:
-Datlas.home=/opt/deploy
-Datlas.conf=/opt/deploy/conf
-Datlas.data=/opt/deploy/data
приложение:
Справочная статья:
http://atlas.apache.org/
https://blog.csdn.net/su20145104009/article/details/108253556
https://www.cnblogs.com/ttzzyy/p/14143508.html