使用数据初始化 Cloudera Hive Docker 容器
Initialize Cloudera Hive Docker Container With Data
我 运行 Docker 容器中的 Cloudera 套件使用此处描述的图像:https://hub.docker.com/r/cloudera/quickstart/
我有以下配置:
Docker文件
FROM cloudera/quickstart:latest
Docker 撰写文件
version: '3.1'
services:
db-hive:
container_name: mobydq-test-db-hive
image: mobydq-test-db-hive
restart: always
build:
context: .
dockerfile: ./db-hive/Dockerfile
expose:
- 10000
networks:
- default
hostname: quickstart.cloudera
privileged: true
tty: true
command: ["/usr/bin/docker-quickstart"]
networks:
default:
external:
name: mobydq-network
当容器启动时,我希望它自动创建一个新数据库 table 并用数据填充它。最好的方法是什么?
我找到的解决方案是将脚本 /user/bin/docker-quickstart
的内容复制到新的 shell 脚本 entrypoint.sh
中。然后我直接在 entrypoint.sh
.
中添加了 Create table 和 Insert 语句
此处示例:https://github.com/ubisoft/mobydq/blob/master/test/db-cloudera/init/entrypoint.sh
最后,我 运行 docker 撰写文件中的命令 entrypoint.sh
而不是快速启动脚本。
我 运行 Docker 容器中的 Cloudera 套件使用此处描述的图像:https://hub.docker.com/r/cloudera/quickstart/
我有以下配置:
Docker文件
FROM cloudera/quickstart:latest
Docker 撰写文件
version: '3.1'
services:
db-hive:
container_name: mobydq-test-db-hive
image: mobydq-test-db-hive
restart: always
build:
context: .
dockerfile: ./db-hive/Dockerfile
expose:
- 10000
networks:
- default
hostname: quickstart.cloudera
privileged: true
tty: true
command: ["/usr/bin/docker-quickstart"]
networks:
default:
external:
name: mobydq-network
当容器启动时,我希望它自动创建一个新数据库 table 并用数据填充它。最好的方法是什么?
我找到的解决方案是将脚本 /user/bin/docker-quickstart
的内容复制到新的 shell 脚本 entrypoint.sh
中。然后我直接在 entrypoint.sh
.
此处示例:https://github.com/ubisoft/mobydq/blob/master/test/db-cloudera/init/entrypoint.sh
最后,我 运行 docker 撰写文件中的命令 entrypoint.sh
而不是快速启动脚本。