Описание внутренностей контейнеров Docker для Apache Superset 2.0.1

Какие контейнеры работают в версии Apache Superset 2.0.1

туду

КонтейнерОбразОписаниеФункциональность
superset_appapache/superset:2.0.1
superset_worker_beatapache/superset:2.0.1
superset_workerapache/superset:2.0.1
superset_dbpostgres:10
superset_cacheredis:latest

Состав контейнеров superset_*

Три контейнера superset_app, superset_worker_beat, superset_worker содержат одинаковую структуру.

app/
├── superset_home/
│     ├── sqllab/
│     └── celerybeat-schedule/
│
├── superset/
│     │
│     │#----- DIRECTORIES:
│     ├── __pycache__
│     ├── advanced_data_type
│     ├── annotation_layers
│     ├── app
│     ├── async_events
│     ├── cachekeys
│     ├── charts
│     ├── cli
│     ├── columns
│     ├── commands
│     ├── common
│     ├── connectors
│     ├── css_templates
│     ├── dao
│     ├── dashboards
│     ├── databases
│     ├── datasets
│     ├── db_engine_specs
│     ├── db_engines
│     ├── embedded
│     ├── embedded_dashboard
│     ├── examples
│     ├── explore
│     ├── extensions
│     ├── importexport
│     ├── initialization
│     ├── key_value
│     ├── migrations
│     ├── models
│     ├── queries
│     ├── reports
│     ├── security
│     ├── sql_validators
│     ├── sqllab
│     ├── static
│     ├── tables
│     ├── tasks
│     ├── templates
│     ├── temporary_cache
│     ├── test.txt
│     ├── translations
│     ├── utils
│     ├── views
│     │#----- FILES:
│     ├── __init__.py
│     ├── app.py
│     ├── config.py
│     ├── constants.py
│     ├── dataframe.py
│     ├── errors.py
│     ├── exceptions.py
│     ├── forms.py
│     ├── jinja_context.py
│     ├── legacy.py
│     ├── result_set.py
│     ├── schemas.py
│     ├── sql_lab.py
│     ├── sql_parse.py
│     ├── stats_logger.py
│     ├── superset_typing.py
│     └── viz.py
│
├── superset-frontend/
│     ├── plugins/
│     ├── scripts/
│     ├── src/
│     ├── dist/
│     ├── spec/
│     ├── tools/
│     ├── packages/
│     ├── webpack.config.js
│     ├── applitools.config.js
│     ├── cypress_build.sh
│     ├── jest.config.js
│     ├── lerna.json
│     ├── package.json
│     ├── tsconfig.json
│     ├── webpack.proxy-config.js
│     ├── babel.config.js
│     ├── js_build.sh
│     ├── package-lock.json
│     └── prettier.config.js
│ 
├── pythonpath/
├── docker/
├── apache_superset.egg-info/
│     ├── not-zip-safe
│     ├── PKG-INFO
│     ├── SOURCES.txt
│     ├── dependency_links.txt
│     ├── entry_points.txt
│     ├── requires.txt
│     └── top_level.txt
│ 
├── setup.py
├── README.md
└── MANIFEST.in

Разбор директории app/superset/static

Директория /app/superset/static/ в контейнере нужна для хранения статических файлов, таких как изображения, CSS-файлы и JavaScript-файлы, которые используются в приложении Superset.

app/superset/
└── static/
      ├── assets/
      │     ├── stylesheets
      │     ├── images
      │     ├── 404.html
      │     ├── 500.html
      │     ├── AlertList.*.chunk.css
      │     ├── AlertList.*.chunk.css.map
      │     ├── DashboardContainer.*.chunk.css
      │     ├── DashboardContainer.*.chunk.css.map
      │     ├── embedded.*.entry.js
      │     ├── embedded.*.entry.js.map
      │     ├── explore.*.entry.css
      │     ├── explore.*.entry.css.map
      │     ├── explore.*.entry.js
      │     ├── explore.*.entry.js.map
      │     ├── *.woff2
      │     ├── *.geojson
      │     ├── *.chunk.js
      │     ├── *.chunk.js.map
      │     ├── manifest.json
      │     ├── menu.*.entry.js # логика работы меню приложения
      │     ├── menu.*.entry.js.map
      │     ├── package.json
      │     ├── preamble.*.entry.js # отвечает за заголовок страницы
      │     ├── preamble.*.entry.js.map
      │     ├── profile.*.entry.css
      │     ├── profile.*.entry.css.map
      │     ├── profile.*.entry.js # отвечает за профиль пользователя
      │     ├── profile.*.entry.js.LICENSE.txt
      │     ├── profile.*.entry.js.map
      │     ├── showSavedQuery.*.entry.js # отвечает за отображение сохраненных запросов
      │     ├── showSavedQuery.*.entry.js.map
      │     ├── spa.*.entry.js # отвечает за работу SPA-фреймворка (Single Page Application)
      │     ├── spa.*.entry.js.map
      │     ├── sqllab.*.entry.css
      │     ├── sqllab.*.entry.css.map
      │     ├── sqllab.*.entry.js # отвечает за работу SQL-редактора
      │     ├── sqllab.*.entry.js.map
      │     ├── theme.*.entry.css
      │     ├── theme.*.entry.css.map
      │     ├── theme.*.entry.js # отвечает за работу тем оформления
      │     ├── thumbnail.*.entry.js # отвечает за отображение миниатюр иконок
      │     ├── vendors.*.entry.js # отвечает за подключение сторонних библиотек и плагинов
      │     ├── vendors.*.entry.js.LICENSE.txt
      │     └── vendors.*.entry.js.map
      └── version_info.json

Разница между файлом entry.js.map и entry.js

Файл entry.js.map — это карты исходного кода, которые создаются в процессе компиляции JavaScript-файлов. Они содержат информацию о соответствии между исходным кодом и скомпилированным файлом, что позволяет разработчикам отлаживать свой код в браузере с помощью инструментов разработчика.

Файл entry.js — это скомпилированный JavaScript-файл, который содержит код приложения, который выполняется в браузере. Он создается из исходного кода и используется для запуска приложения в браузере.

Таким образом, файл entry.js.map используется для отладки исходного кода, а файл entry.js — для запуска скомпилированного приложения в браузере.

Разница между файлом entry.css и entry.css.map

Аналогично js:

Файл entry.css — это скомпилированный CSS-файл, который содержит стили, применяемые к веб-странице. Он создается из исходного кода CSS и используется для отображения веб-страницы в браузере.

Файл entry.css.map — это карта исходного кода для CSS-файла, которая содержит информацию о соответствии между исходным кодом и скомпилированным файлом. Это позволяет разработчикам отлаживать свой CSS-код в инструментах разработчика браузера.

Таким образом, файл entry.css используется для отображения стилей на веб-странице, а файл entry.css.map — для отладки исходного кода CSS.

Ivan Shamaev (Admin)
Работаю с Apache Superset с 2021 года. Веду этот блог, чтобы систематизировать свои знания и поделиться ими с другими специалистами. Подписывайтесь на мой телеграм канал @apache_superset_bi
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x