Inicie una pila de datos moderna en 5 minutos con Terraform
¿Qué es una pila de datos moderna y cómo se implementa? Esta guía lo motivará a comenzar este viaje con instrucciones de configuración para Airbyte, BigQuery, dbt, Metabase y todo lo demás que necesite con Terraform.
By tuan nguyen, CTO y miembro de la junta de Joon Solutions.
Una arquitectura de pila de datos moderna (imagen del autor).
¿Qué es una pila de datos moderna?
Modern Data Stack (MDS) es una pila de tecnologías que hace que un almacén de datos moderno funcione entre 10 y 10,000 XNUMX veces mejor que un almacén de datos heredado. En definitiva, un MDS ahorra tiempo, dinero y esfuerzo. Los cuatro pilares de un MDS son un conector de datos, almacén de datos en la nube, transformador de datos, Y un BI y exploración de datos .
Fácil integración es posible gracias a herramientas administradas y de código abierto que preconstruyen cientos de conectores listos para usar. Lo que antes requería un equipo de ingenieros de datos para construir y mantener regularmente, ahora se puede reemplazar con una herramienta para casos de uso simples. Soluciones administradas como Puntada y cincotran, junto con soluciones de código abierto como byte de aire y Meltano, están haciendo que esto suceda.
El uso del almacén de datos en columnas basado en la nube Ha sido la tendencia recientemente debido a su alto rendimiento y rentabilidad. En lugar de pagar $100 mil por año por una base de datos MPP (procesamiento masivo paralelo) local, puede comenzar a pagar desde $100 (o menos) por mes. Se dice que los almacenes de datos nativos de la nube son entre 10 y 10,000 XNUMX veces más rápidos que un OLTP tradicional. Las opciones populares en esta categoría son BigQuery, Copo de nievey Desplazamiento hacia el rojo.
Antiguamente, el procesamiento de datos dentro del almacén de datos era un cuello de botella debido a las limitaciones de la tecnología. Como resultado, las empresas tuvieron que preferir ETL en lugar de ELT para reducir la carga de trabajo del almacén de datos. Sin embargo, con el avance de los almacenes de datos nativos de la nube, muchos herramientas de transformación en el almacén de datos se están volviendo populares. Los más notables en esta categoría son dbt (herramienta de creación de datos) y Dataform.
Herramientas de BI También solía encargarse de algunas transformaciones para reducir la carga de trabajo en los almacenes de datos heredados. Sin embargo, con la pila de datos moderna, el enfoque de las herramientas de BI se ha desplazado (en mi opinión) para democratizar el acceso a los datos, el autoservicio y el descubrimiento de datos. Algunas herramientas que creo que van en la dirección correcta son Looker, metabasey superconjunto.
nuestra arquitectura
Comenzar a utilizar Modern Data Stack puede resultar desalentador, ya que intervienen muchas herramientas y procesos diferentes. Este artículo tiene como objetivo ayudarle a comenzar este viaje de la forma más fluida posible. Hay muchos pasos de preparación, pero solo se necesita cinco minutos para activar todos los recursos una vez que haya terminado.
Usaremos Terraform, una herramienta de código abierto de infraestructura como código para aprovisionar todo en Google Cloud. Si sigue las instrucciones a continuación, estos son los recursos que se crearán.
- Un proyecto de Google Cloud con la API necesaria habilitada
- Ingestión: una instancia de GCE que ejecuta Airbyte
- Almacenamiento: conjuntos de datos de BigQuery
- Orquestación (opcional): una instancia de GCE que ejecuta Airflow
- BI y descubrimiento de datos: una instancia de GCE que ejecuta Metabase
- Cuentas de servicio para diferentes servicios y sus enlaces de permisos de IAM
Iniciar
Crea una cuenta de Google Cloud y habilita la facturación
El código Terraform en este proyecto interactuará con Google Cloud Platform. Por lo tanto, nuestro primer paso es crear una cuenta de Google y habilitar facturación. Nota la ID de facturación con el siguiente formato en la Página de Facturación: ######-######-######. Necesitará este valor en el siguiente paso.
Instalar la CLI de Google Cloud
Instale Google Cloud SDK siguiendo las instrucciones esta página para su respectivo sistema operativo. Después de tener el nube de gcloud CLI instalada, ejecute el siguiente comando en una ventana de terminal y siga las instrucciones. Esto permitirá que Terraform use la credencial predeterminada para la autenticación.
Inicio de sesión predeterminado de gcloud auth
Instalar terraforma
Siga las instrucciones esta página para instalar Terraform CLI localmente. Ejecute el siguiente comando luego para verificar su instalación:
terraformar -v
Debería ver algo como esto:
Terraform v1.0.0 en darwin_amd64 + registro de proveedor.terraform.io/hashicorp/google v3.71.0
Bifurca o clona este repositorio localmente
solicite bifurcar este repositorio a su cuenta o clonarlo en su máquina local. Para clonar el repositorio, ejecute lo siguiente:
clon de git https://github.com/tuanchris/modern-data-stack cd modern-data-stack
Créar un terraform.tfvars presentar
Créar un terraform.tfvars Archivo con el siguiente contenido:
# El ID de facturación del primer paso billing_id = ######-######-###### # El ID de la carpeta donde desea que esté su proyecto # Deje este espacio en blanco si usa una cuenta personal folder_id = "" # El ID de la organización donde desea que esté su proyecto # Deje este espacio en blanco si usa una cuenta personal org_id = "" # El proyecto a crear project_id = ""
advertencia: Estos se consideran valores sensibles. No confirme este archivo y el *.tfestado archivos a un repositorio público.
Personaliza los valores en variables.tf
Las variables en variables.tf se utilizará para las configuraciones de los recursos.
Imagen del autor.
Puede personalizar el tipo de máquina para diferentes servicios cambiando las variables. Si no deseas utilizar ningún servicio, coméntalo en el gce.tf archivo.
También puede crear diferentes conjuntos de datos para sus sistemas de origen agregándolos al diccionario de conjuntos de datos de orígenes.
Cree una pila de datos moderna
Finalmente, para aprovisionar todos estos recursos en Google Cloud, ejecute el siguiente comando:
aplicar terraforma
Imagen del autor.
Estudie el resultado en la terminal para asegurarse de que todas las configuraciones de recursos sean las que usted desea. Tipo si y golpear entrar.
Terraform creará un proyecto de Google Cloud con nuestra pila de datos moderna. Todo el proceso tardará entre 2 y 3 minutos. Se necesitan entre 2 y 3 minutos adicionales para instalar los servicios en las instancias de VM. Todo el proceso sólo te llevará 5 minutos o menos.
Usando la pila de datos moderna
Recuperar cuentas de servicio para diferentes servicios
Imagen del autor.
Google recomienda utilizar una cuenta de servicio diferente para diferentes servicios. El código Terraform en el proyecto ha creado diferentes cuentas para diferentes tecnologías que ya se utilizan. Para recuperar una cuenta de servicio para un servicio en particular, ejecute el siguiente comando:
salida de terraform [nombre_servicio]_sa_key
El permiso predeterminado para todas estas cuentas es roles/bigquery.admin. Puedes personalizar esto en el iam.tf archivo.
El valor que obtuvo está codificado en base64. Para devolver este valor al formato JSON, ejecute el siguiente comando:
echo "[valor del comando anterior]" | base64 -d
Puede utilizar la cuenta de servicio JSON para autenticar el acceso del servicio a los recursos de su proyecto.
advertencia: Cualquier persona con esta cuenta de servicio puede acceder a su proyecto.
Ingerir datos con Airbyte
byte de aire es una excelente herramienta de integración de datos de código abierto. Para acceder a la interfaz de usuario de Airbyte, primero obtenga el comando SSH de gcloud.
Imagen del autor.
Obtendrá un comando similar a este:
gcloud beta Compute ssh --zone "asia-southeast1-a" "tf-airbyte-demo-airbyte" --project "tf-airbyte-demo"
A continuación, agregue lo siguiente al comando para reenviar el puerto de la interfaz de usuario de Airbyte localmente:
-- -L 8000:localhost:8000 -L 8001:localhost:8001 -N -f
Su comando final se verá así:
gcloud beta Compute ssh --zone "asia-southeast1-a" "tf-airbyte-demo-airbyte" --project "tf-airbyte-demo" -- -L 8000:localhost:8000 -L 8001:localhost:8001 - sustantivo -f
Nota: Asegúrese de eliminar el carácter de nueva línea después de copiarlo desde la interfaz de usuario de GCP.
Si la instancia de Airbyte ha terminado de iniciarse, puede acceder a ella yendo a su navegador y visitando localhost: 8000. De lo contrario, espere cinco minutos para que la instancia complete la instalación.
Imagen del autor.
Ahora puedes integrar tus fuentes, agregar un destino de BigQuery usando el airbyte_sa_keyy ten tus datos en BigQuery en poco tiempo.
Puedes acceder a la instalación de Airbyte en /airbyte/ dentro de la máquina virtual.
Datos del modelo con dbt
dbt (herramienta de creación de datos) es una potente herramienta de transformación de datos de código abierto que utiliza SQL. Permite a los analistas de datos realizar el trabajo previamente reservado para los ingenieros de datos. También ayuda a crear un puesto completamente nuevo llamado Ingeniero de análisis, un híbrido de analista de datos e ingeniero de datos. Puedes leer más sobre el puesto en mi blog. esta página.
Imagen del autor.
A diferencia de Airbyte, Airflow y Metabase, no necesita un servidor para ejecutar dbt. Puede registrarse para obtener una cuenta de 1 puesto gratuita (para siempre) visitando su página web del NDN Collective .
Orqueste el flujo de trabajo con Airflow
Flujo de aire es una herramienta de orquestación de flujo de trabajo probada en batalla creada por Airbnb. Con una pila de datos moderna, con suerte, no tendrás que usar mucho Airflow. Sin embargo, en algunos casos en los que se necesita algo de personalización, Airflow puede ser su herramienta de referencia.
Para acceder a la interfaz de usuario, obtenga el comando SSH similar a la sección anterior con Airbyte. Utilice el siguiente comando para reenviar puertos:
gcloud beta Compute ssh --zone "asia-southeast1-a" "tf-airbyte-demo-airflow" --project "tf-airbyte-demo" -- -L 8080:localhost:8080 -N -f
Ahora puedes acceder a la instalación de Airflow en localhost: 8080. El nombre de usuario y la contraseña predeterminados son Admin y Admin.
Imagen del autor.
Puede acceder a la instalación del flujo de aire en /flujo de aire/ dentro de la máquina virtual.
Visualizar datos con Metabase
metabase es una herramienta de descubrimiento y visualización de datos de código abierto. Es muy fácil de usar y fácil de usar.
Para acceder a la interfaz de usuario de la metabase, obtenga el comando SSH similar a la sección anterior con Airbyte. Luego, use el siguiente comando para reenviar puertos:
gcloud beta Compute ssh --zone "asia-southeast1-a" "tf-airbyte-demo-metabase" --project "tf-airbyte-demo" -- -L 3000:localhost:3000 -N -f
Imagen del autor.
Limpiar
Para evitar incurrir en costos no deseados, asegúrese de limpiar los recursos creados en este proyecto mediante la ejecución.
terraforma destruir
Advertencia: Esto eliminará todos los datos y recursos persistentes en el proyecto. Alternativamente, también puede desactivar el GCE no utilizado para ahorrar costos.
Original. Publicado de nuevo con permiso.
Bio: tuan nguyen es el director de tecnología de Joon Solutions, una empresa de datos como servicio. Su experiencia profesional gira en torno a la creación y gestión de equipos de ciencia de datos, infraestructura de análisis y casos de uso de análisis. Le encanta combinar su pasión por el análisis de datos y la computación en la nube para ayudar a las empresas a mantenerse competitivas en esta época digital. Tiene una amplia gama de intereses, que incluyen astronomía, lectura, música e IoT.
Relacionado:
Fuente: https://www.kdnuggets.com/2021/08/bootstrap-modern-data-stack-terraform.html
- "
- &
- de la máquina
- Mi Cuenta
- Adicionales
- Airbnb
- Todos
- analista
- Analytics
- APACHE
- abejas
- arquitectura
- en torno a
- artículo
- astronomía
- Autenticación
- auto
- beta
- bigquery
- facturación
- Blog
- tablero
- miembro de la Junta
- frontera
- cada navegador
- build
- Construir la
- negocios
- servicios sociales
- cases
- Soluciones
- la computación en nube
- Plataforma en la nube
- código
- Empresas
- compañía
- Calcular
- informática
- contenido
- Precio
- Creamos
- CTO
- datos
- acceso a los datos
- Data Analytics
- integración de datos
- Ciencia de los datos
- Visualización de datos
- almacenamiento de datos
- almacenes de datos
- Base de datos
- día
- deep learning
- destruir
- digital
- Director
- descubrimiento
- ingeniero
- certificados
- Experiencias
- Nombre
- Focus
- seguir
- formato
- Gratuito
- Gold
- Google Cloud
- GPU
- guía
- esta página
- Alta
- Cómo
- HTTPS
- Cientos
- Híbrido
- AMI
- imagen
- Incluye
- EN LA MINA
- integración
- involucra
- IOT
- IT
- APRENDE:
- aprendizaje
- Etiqueta LinkedIn
- local
- localmente
- máquina de aprendizaje
- Realizar
- mediano
- ML
- dinero
- Música
- en línea
- habiertos
- de código abierto
- Opinión
- Opciones
- Contraseña
- actuación
- plataforma
- Popular
- proyecto
- público
- distancia
- Reading
- reducir
- Recurso
- Recursos
- Ejecutar
- correr
- Ciencia:
- los científicos
- Sdk
- Autoservicio
- Servicios
- sencillos
- Soluciones
- Girar
- SQL
- comienzo
- fundó
- quedarse
- Historias
- Todas las funciones a su disposición
- Tecnologías
- equipo
- parte superior
- transformadora
- ui
- propuesta de
- visualización
- esperar
- Manejo de
- Que es
- Actividades:
- flujo de trabajo
- X
- año