Desmond  Gerber

Desmond Gerber


DBX: Databricks CLI EXtensions

dbx by Databricks Labs 

🧱Databricks CLI eXtensions - aka dbx is a CLI tool for development and advanced Databricks workflows management.


dbx simplifies Databricks workflows development, deployment and launch across multiple environments. It also helps to package your project and deliver it to your Databricks environment in a versioned fashion. Designed in a CLI-first manner, it is built to be actively used both inside CI/CD pipelines and as a part of local tooling for rapid prototyping.


  • Python Version > 3.8
  • pip or conda


  • with pip:
pip install dbx


Please refer to the docs page.

Interface versioning

For CLI interfaces, we support SemVer approach. However, for API components we don't use SemVer as of now. This may lead to instability when using dbx API methods directly.

Legal Information

This software is provided as-is and is not officially supported by Databricks through customer technical support channels. Support, questions, and feature requests can be communicated through the Issues page of this repo. Please see the legal agreement and understand that issues with the use of this code will not be answered or investigated by Databricks Support.


Issues with dbx? Found a bug? Have a great idea for an addition? Feel free to file an issue.


Please find more details about contributing to dbx in the contributing doc.

Download Details:

Author: Databrickslabs
Source Code: 
License: View license

#python #cicd #databricks #mlops #cli

DBX: Databricks CLI EXtensions
Nigel  Uys

Nigel Uys


Dolly, a large language model trained on the Databricks ML Platform


Databricks’ Dolly, a large language model trained on the Databricks Machine Learning Platform, demonstrates that a two-years-old open source model (GPT-J) can, when subjected to just 30 minutes of fine tuning on a focused corpus of 50k records (Stanford Alpaca), exhibit surprisingly high quality instruction following behavior not characteristic of the foundation model on which it is based. We believe this finding is important because it demonstrates that the ability to create powerful artificial intelligence technologies is vastly more accessible than previously realized.

Databricks is committed to ensuring that every organization and individual benefits from the transformative power of artificial intelligence. The Dolly model family represents our first steps along this journey, and we’re excited to share this technology with the world.

Please note that while GPT-J 6B is Apache 2.0 licensed, the Alpaca dataset is licensed under Creative Commons NonCommercial (CC BY-NC 4.0).

Dolly is intended exclusively for research purposes and is not licensed for commercial use.

Model Overview

In the following passages we refer to dolly-6b, the first in the Dolly family of models and the model that this repository presently implements.

dolly-6b is a 6 billion parameter causal language model created by Databricks that is derived from EleutherAI’s GPT-J (released June 2021) and fine-tuned on a ~52K record instruction corpus (Stanford Alpaca) consisting of question/answer pairs generated using the techniques outlined in the Self-Instruct paper. Dolly was trained using deepspeed ZeRO 3 on the Databricks Machine Learning Platform in just 30 minutes using a single NDasrA100_v4 machine with 8x A100 40GB GPUs.

Like its base model, dolly-6b has six billion parameters consisting of 28 transformer layers with 16 attention heads each. It employs Rotary Position Embedding (RoPE) and shares the same tokenizer as GPT-3. GPT-J was trained on The Pile, a 400B token dataset of diverse documents designed primarily for text generation tasks.


dolly-6b is intended exclusively for research purposes and is not licensed for commercial use.

dolly-6b is not a state-of-the-art generative language model and, though quantitative benchmarking is ongoing, is not intended to perform competitively with more modern model architectures or models subject to larger pretraining corpuses. For example, we expect the Alpaca model, derived from LLaMA-7B (trained on 1T tokens vs. The Pile's 400B & with years of scientific advances behind it), to be superior in its generative quality relative to Dolly. What's most notable about Dolly is the degree of its instruction following capabilities given that it's based on a freely available open source model anyone can download and use.

The Dolly model family is under active development, and so any list of shortcomings is unlikely to be exhaustive, but we include known limitations and misfires here as a means to document and share our preliminary findings with the community. In particular, dolly-6b struggles with syntactically complex prompts, mathematical operations, factual errors, dates and times, open-ended question answering, hallucination, enumerating lists of specific length, and stylistic mimicry.

Get Started Training

  • Add the dolly repo to Databricks (under Repos click Add Repo, enter, then click Create Repo).
  • Start a 12.2 LTS ML (includes Apache Spark 3.3.2, GPU, Scala 2.12) single-node cluster with node type having 8 A100 GPUs (e.g. Standard_ND96asr_v4 or p4d.24xlarge). Note that these instance types may not be available in all regions, or may be difficult to provision. In Databricks, note that you must select the GPU runtime first, and unselect "Use Photon", for these instance types to appear (where supported).
  • Open the train_dolly notebook in the Repo (which is the file in the Github dolly repo), attach to your GPU cluster, and run all cells. When training finishes, the notebook will save the model under /dbfs/dolly_training.

Training on Other Instances

A100 instance types are not available in all cloud regions, or can be hard to provision. Training is possible on other GPU instance types, with small modifications to reduce memory usage. Training will take longer on these instances. These modifications are not necessarily optimal, but are simple to make.

A10 GPUs

To run on A10 instances (ex: g5.24xlarge, 4 x A10 24GB; Standard_NV72ads_A10_v5, 2 x A10), make the following changes:

  • Modify the deepspeed config file ds_z3_bf16_config.json to configure optimizer offload. Within the "zero_optimization" section, add:
"offload_optimizer": {
  "device": "cpu",
  "pin_memory": true
  • Set the num_gpus widget in train_dolly to the number of GPUs in your instance, such as 2 or 4, before running

With 4 A10s, an epoch completes in about 7 hours.

V100 GPUs

To run on V100 instances with 32GB of GPU memory (ex: p3dn.24xlarge or Standard_ND40rs_v2), make the following changes:

  • Modify the deepspeed config to enable optimizer offload, as above
  • Modify to disable bf16 and enable fp16 in TrainingArguments:
  • Set the num_gpus widget in train_dolly to the number of GPUs in your instance, typically 8

With 8 V100s, an epoch completes in about 3.5 hours. Note that the resulting model may be slightly different when trained with fp16 versus bf16.

Running Unit Tests Locally

pyenv local 3.8.13
python -m venv .venv
. .venv/bin/activate
pip install -r requirements_dev.txt

Download Details:

Author: Databrickslabs
Source Code: 
License: Apache-2.0 license

#chatbot #gpt #databricks 

Dolly, a large language model trained on the Databricks ML Platform
Hermann  Frami

Hermann Frami


Dolly: This Fine-tunes The GPT-J 6B Model on The Alpaca Dataset


This fine-tunes the GPT-J 6B model on the Alpaca dataset using a Databricks notebook. Please note that while GPT-J 6B is Apache 2.0 licensed, the Alpaca dataset is licensed under Creative Commons NonCommercial (CC BY-NC 4.0).

Get Started Training

  • Add the dolly repo to Databricks (under Repos click Add Repo, enter, then click Create Repo).
  • Start a 12.2 LTS ML (includes Apache Spark 3.3.2, GPU, Scala 2.12) single-node cluster with node type having 8 A100 GPUs (e.g. Standard_ND96asr_v4 or p4d.24xlarge).
  • Open the train_dolly notebook in the dolly repo, attach to your GPU cluster, and run all cells. When training finishes, the notebook will save the model under /dbfs/dolly_training.

Running Unit Tests Locally

pyenv local 3.8.13
python -m venv .venv
. .venv/bin/activate
pip install -r requirements_dev.txt

Download Details:

Author: Databrickslabs
Source Code: 
License: Apache-2.0 license

#python #dataset #databricks #notebook 

Dolly: This Fine-tunes The GPT-J 6B Model on The Alpaca Dataset

Разница между: Data Lake и Delta Lake


Озеро данных — это репозиторий, в котором дешево хранятся огромные объемы необработанных данных в собственном формате.

Он состоит из дампов текущих и исторических данных в различных форматах, включая XML, JSON, CSV, Parquet и т. д.

Недостатки озера данных

  • Не обеспечивает атомарность — не все или ничего, в конечном итоге это может привести к хранению поврежденных данных.
  • Нет контроля качества — создаются противоречивые и непригодные для использования данные.
  • Отсутствие согласованности/изоляции — чтение и добавление при обновлении невозможно.


Delta Lake позволяет нам постепенно улучшать качество, пока оно не будет готово к употреблению. Данные перетекают, как вода в озере Дельта, от одного этапа к другому (бронза -> серебро -> золото).

  • Озеро Delta переносит полные ACID-транзакции в Apache Spark. Это означает, что работы либо будут завершены, либо их не будет вообще.
  • Delta является открытым исходным кодом Apache. Вы можете хранить большой объем данных, не беспокоясь о блокировке.
  • Озеро Дельта глубоко измельчено Apache Spark, что означает, что задания Spark (пакетные/потоковые) могут быть преобразованы без написания их с нуля.

Архитектура Дельта-Лейк

Озеро данных против озера Дельта

Архитектура Дельта-Лейк

Бронзовые Столы

Данные могут поступать из различных источников, которые могут быть грязными. Таким образом, это свалка для необработанных данных.

Серебряные столы

Состоит из промежуточных данных с некоторой очисткой.

Это Queryable для легкой отладки.

Золотые столы

Он состоит из чистых данных, готовых к использованию.

Оригинальный источник статьи:

#datalake #delta #spark #databricks #bigdata 

Разница между: Data Lake и Delta Lake
田辺  桃子

田辺 桃子


两者之间的区别:Data Lake 与 Delta Lake


Data Lake 是一个存储库,可以廉价地以其本机格式存储大量原始数据。

它由各种格式的当前和历史数据转储组成,包括 XML、JSON、CSV、Parquet 等。


  • 不提供原子性——全无或全无,它最终可能会存储损坏的数据。
  • 没有质量执行——它会产生不一致和不可用的数据。
  • 无一致性/隔离——发生更新时不可能读取和追加。


Delta Lake 使我们能够逐步提高质量,直到可以使用为止。数据像 Delta Lake 中的水一样从一个阶段流到另一个阶段(青铜 -> 白银 -> 黄金)。

  • Delta lake 为 Apache Spark 带来了完整的 ACID 事务。这意味着工作要么完成要么根本不完成。
  • Delta 由 Apache 开源。您可以存储大量数据而不必担心锁定。
  • Delta lake 深受 Apache Spark 的影响,这意味着可以转换 Spark 作业(批处理/流)而无需从头开始编写。











文章原文出处:https:   //

#datalake #delta #spark #databricks #bigdata 

两者之间的区别:Data Lake 与 Delta Lake

Difference between: Data Lake Vs Delta Lake


Data Lake is a storage repository that cheaply stores vast raw data in its native format.

It consists of current and historical data dumps in various formats, including XML, JSON, CSV, Parquet, etc.

Drawbacks in Data Lake

  • Doesn’t provide Atomicity — No all or nothing, it may end up storing corrupt data.
  • No Quality Enforcement — It creates inconsistent and unusable data.
  • No Consistency/Isolation — It’s impossible to read and append when an update occurs.


Delta Lake allows us to incrementally improve the quality until it is ready for consumption. Data flows like water in Delta Lake from one stage to another stage (Bronze -> Silver -> Gold).

  • Delta lake brings full ACID transactions to Apache Spark. That means jobs will either be complete or not at all.
  • Delta is open-sourced by Apache. You can store a large amount of data without worrying about locking.
  • Delta lake is deeply powdered by Apache Spark, meaning the Spark jobs (batch/stream) can be converted without writing those from scratch.

Delta Lake Architecture

Data Lake Vs Delta Lake

Delta Lake Architecture

Bronze Tables

Data may come from various sources, which could be Dirty. Thus, It is a dumping ground for raw data.

Silver Tables

Consists of Intermediate data with some cleanup applied.

It is Queryable for easy debugging.

Gold Tables

It consists of clean data, which is ready for consumption.

Original article source at:

#datalake #delta #spark #databricks #bigdata 

Difference between: Data Lake Vs Delta Lake
Diego  Elizondo

Diego Elizondo


Flujo De Datos De Data Factory Frente A Bloques De Datos De Azure

Introducción a Azure Data Factory y Data Bricks

Factoría de datos de Azure

Azure Data Factory es una herramienta de orquestación para que los servicios de integración de datos realicen procesos ETL y organicen movimientos de datos a escala.

Ladrillos de datos de Azure 

 Mientras que Azure Data Bricks proporciona una plataforma colaborativa unificada para ingenieros de datos y científicos de datos para realizar ETL y crear modelos de aprendizaje automático con paneles de visualización.

Después de comprender los conceptos básicos de Azure Data Factory y Azure Data Bricks, comprendamos en detalle la comparación de Azure Data Factory y Azure Data Bricks.

Flexibilidad de uso

Con los bloques de datos, podemos usar Python, Spark, R, Java o SQL para realizar actividades de ingeniería de datos y ciencia de datos utilizando cuadernos. 

Sin embargo, ADF proporciona una función de arrastrar y soltar para crear y mantener visualmente canalizaciones de datos que consisten en herramientas de interfaz gráfica de usuario (GUI) que permiten entregar aplicaciones a una velocidad mayor.

Facilidad de codificación

Aunque Azure Data Factory facilita el proceso de canalización de ETL mediante herramientas GUI, los desarrolladores tienen menos flexibilidad ya que no pueden modificar el código de back-end.

Por otro lado, los bloques de datos implementan un enfoque programático que brinda la flexibilidad de ajustar códigos para optimizar el rendimiento.

El mayor inconveniente de Databricks es que debe escribir código. La mayoría de los desarrolladores de BI están acostumbrados a herramientas ETL más gráficas como SSIS, Informatica o similares, y es una curva de aprendizaje escribir código. 

Procesamiento de datos

Las empresas a menudo realizan procesamiento por lotes o secuencias mientras trabajan con un gran volumen de datos. Mientras que el lote trata con datos masivos, la transmisión trata con datos en vivo (en tiempo real) o de archivo ( menos de doce horas ) según las aplicaciones. 

Flujo de datos de Data Factory frente a bloques de datos de Azure
Referencia de imagen:

Azure Data Factory y Azure Data Bricks admiten opciones de transmisión por lotes y por lotes, pero Azure Data Factory no admite la transmisión en vivo. Por otro lado, los ladrillos de datos admiten opciones de transmisión en vivo y de archivo a través de Spark API.

Flujo de datos de Data Factory frente a bloques de datos de Azure
Referencia de imagen:


El costo de Azure Data Factory Data Flow es mayor en comparación con Azure Data Bricks cuando se trata de procesamiento de big data. Los flujos de datos de asignación son transformaciones de datos diseñadas visualmente en Azure Data Factory. Los flujos de datos permiten a los ingenieros de datos desarrollar una lógica de transformación de datos sin escribir código. Los flujos de datos resultantes se ejecutan como actividades dentro de las canalizaciones de Azure Data Factory que usan clústeres de Apache Spark escalados. Las actividades de flujo de datos se pueden poner en funcionamiento mediante las capacidades existentes de programación, control, flujo y supervisión de Azure Data Factory.

Los flujos de datos de mapeo brindan una experiencia completamente visual sin necesidad de codificación. Los flujos de datos se ejecutan en clústeres de ejecución administrados por ADF para el procesamiento de datos escalados. Azure Data Factory maneja toda la traducción de código, la optimización de rutas y la ejecución de sus trabajos de flujo de datos.

Azure Data Bricks se basa en Apache Spark y proporciona computación en memoria con soporte de lenguaje para Scala, R, Python y SQL. La transformación/ingeniería de datos se puede realizar en cuadernos con declaraciones en diferentes idiomas. Eso hace que esta sea una tecnología flexible para incluir análisis avanzados y aprendizaje automático como parte del proceso de transformación de datos. También puede ejecutar cada paso del proceso en un cuaderno, por lo que la depuración paso a paso es fácil. También podrá ver este proceso durante la ejecución del trabajo, por lo que es fácil ver si su trabajo se detiene.

Los clústeres de bloques de datos de Azure se pueden configurar de varias maneras, tanto en relación con la cantidad como con el tipo de nodos de proceso. Administrar para configurar el clúster correcto es una forma de arte, pero puede acercarse bastante ya que puede configurar su clúster para escalar automáticamente dentro de su umbral definido dada la carga de trabajo. También se puede configurar para que finalice automáticamente cuando esté inactivo durante un tiempo determinado. Cuando se usa con ADF, el clúster se iniciará cuando se inicien las actividades. los parámetros se pueden enviar dentro y fuera del ADF. Azure Data Bricks está estrechamente conectado con otros servicios de Azure, tanto Active Directory, Key Vault y opciones de almacenamiento de datos como blob, almacenamiento de lago de datos y SQL.


Las empresas anticipan continuamente las crecientes demandas de Big Data Analytics para buscar nuevas oportunidades. Con el aumento de las adopciones de la nube, las organizaciones a menudo se encuentran en un dilema al elegir Azure Data Factory y Data Bricks. Si una empresa quiere experimentar una canalización ETL sin código o con código bajo para la integración de datos, ADF es mejor. Por otro lado, los bloques de datos proporcionan una plataforma de análisis unificado para integrar varios ecosistemas para informes de BI, ciencia de datos, aprendizaje automático y MLFlow.


#azure #databricks #mlflow 

Flujo De Datos De Data Factory Frente A Bloques De Datos De Azure
高橋  花子

高橋 花子




Azure Data Factory

Azure Data Factoryは、データ統合サービスがETLプロセスを実行し、データの移動を大規模にオーケストレーションするためのオーケストレーションツールです。


 一方、Azure Dataブリックは、データエンジニアとデータサイエンティストがETLを実行し、視覚化ダッシュボードを使用して機械学習モデルを構築するための統合されたコラボレーションプラットフォームを提供します。

Azure DataFactoryとAzureDataブリックの基本を理解した後、AzureDataFactoryとAzureDataBrickの比較について詳しく理解しましょう。





Azure Data FactoryはGUIツールを使用してETLパイプラインプロセスを容易にしますが、開発者はバックエンドコードを変更できないため、柔軟性が低くなります。




多くの場合、企業は大量のデータを処理しながらバッチ処理またはストリーム処理を行います。バッチはバルクデータを処理しますが、ストリーミングはアプリケーションに基づいて ライブ(リアルタイム)またはアーカイブデータ(12時間未満)のいずれかを処理します。

画像リファレンス:https ://

Azure DataFactoryとAzureDataブリックは、バッチオプションとストリーミングオプションの両方をサポートしていますが、AzureDataFactoryはライブストリーミングをサポートしていません。一方、データブリックはSparkAPIを介してライブストリーミングオプションとアーカイブストリーミングオプションの両方をサポートします。

画像リファレンス:https ://


Azure Data Factoryのデータフローのコストは、ビッグデータ処理を処理する際のAzureDataBricksと比較して高くなります。マッピングデータフローは、AzureDataFactoryで視覚的に設計されたデータ変換です。データフローにより、データエンジニアはコードを記述せずにデータ変換ロジックを開発できます。結果のデータフローは、スケールアウトされたApacheSparkクラスターを使用するAzureDataFactoryパイプライン内のアクティビティとして実行されます。データフローアクティビティは、既存のAzure Data Factoryのスケジューリング、制御、フロー、および監視機能を使用して運用できます。

データフローのマッピングは、コーディングを必要とせずに完全に視覚的なエクスペリエンスを提供します。データフローは、スケールアウトされたデータ処理のためにADF管理の実行クラスターで実行されます。Azure Data Factoryは、すべてのコード変換、パスの最適化、およびデータフロージョブの実行を処理します。


Azure Dataブリッククラスターは、計算ノードの数と種類の両方に関して、さまざまな方法で構成できます。正しいクラスターを設定するための管理は芸術的な形式ですが、ワークロードが与えられた場合に定義されたしきい値内で自動的にスケーリングするようにクラスターを設定できるため、かなり近づくことができます。また、一定時間非アクティブになったときに自動的に終了するように設定することもできます。ADFとともに使用すると、アクティビティの開始時にクラスターが起動します。パラメータはADFとの間で送受信できます。Azure Dataブリックは、Active Directory、Key Vault、およびblob、データレイクストレージ、SQLなどのデータストレージオプションの両方で、他のAzureサービスと密接に接続されています。



ソース:https :// 

#azure #databricks 

Madyson  Moore

Madyson Moore


How to Setup A Databricks Account To Run Spark on Databricks for Free

Apache Spark is a lightning fast cluster which process the data into the memory. It's most important tools use in Big-Data Analytics & used by Data Engineers.
Now it's super easy to run, deploy an Spark Application at your finger tips.
We will be using databricks platform to run your spark application for FREE!
Databricks provides you with 16 GB of Computation Hardware where you can process data & take data from several sources with lots of connector big data tutorial
Databricks Community Signup :
Databricks Community Login :

#databricks #spark 

How to Setup A Databricks Account To Run Spark on Databricks for Free
Aiyana  Miller

Aiyana Miller


How to Use the New Power BI Connector

Easily connect your Power BI reports to Databricks tables using the new Databricks Power BI Connector.  In this video, I demonstrate all the steps to create a Power BI connection to Databricks, how to use it to build reports, and then how to configure it to work on the Power BI Service so your reports can be shared with others.  It's easy and fun to do!  

Documentation on Using the PBI Connector

#PowerBI #databricks 

How to Use the New Power BI Connector
Thurman  Mills

Thurman Mills


Using Databricks to Establish Multi-Cloud Connectivity

This is a high-level guide on how to establish connectivity from your Databricks workspace on GCP to your other cloud / on-premises network. For the example detailed here, we will be setting up connectivity from Databricks on GCP to an Azure environment. A similar methodology would apply for connection to AWS or on-premises.

#cloud #databricks 

Using Databricks to Establish Multi-Cloud Connectivity

Databricks on Google Cloud

Databricks turned into the favorite platform for many data engineers, data scientists, and ML experts. It combines data, analytics, and AI. It’s multi-cloud and now you can also use it on GCP.

This article will walk you through the main steps to become efficient with Databricks on Google Cloud.

#cloud #googlecloud #databricks 

Databricks on Google Cloud

TOP 5 Reasons Azure Databricks Is The Best for Hadoop Workloads

Azure Databricks is a unified data analytics platform for accelerating innovation across data science, data engineering, and business analytics. Azure Databricks brings a cost-effective and scalable solution to managing Hadoop workloads in the cloud—one that is easy to manage, highly reliable for diverse data types, and enables predictive and real-time insights to drive innovation.

⭐️You can see more at the link at the end of the article. Thank you for your interest in the blog, if you find it interesting, please give yourself a like, comment and share to show your support for the author.

#azure #azuredatabricks  #databricks 

TOP 5 Reasons Azure Databricks Is The Best for Hadoop Workloads
Khalil  Torphy

Khalil Torphy


Data Discovery at Databricks with Amundsen

Databricks used to use a static manually maintained wiki page for internal data exploration. We will discuss how we leverage Amundsen, an open source data discovery tool from Linux Foundation AI & Data, to improve productivity with trust by surfacing the most relevant dataset and SQL analytics dashboard with its important information programmatically at Databricks internally.


We will also talk about how we integrate Amundsen with Databricks world class infrastructure to surface metadata including:

Surface the most popular tables used within Databricks
Support fuzzy search and facet search for dataset- Surface rich metadata on datasets:
Lineage information (downstream table, upstream table, downstream jobs, downstream users)
Dataset owner
Dataset frequent users
Delta extend metadata (e.g change history)
ETL job that generates the dataset
Column stats on numeric type columns
Dashboards that use the given dataset
Use Databricks data tab to show the sample data
Surface metadata on dashboards including: create time, last update time, tables used, etc
Last but not least, we will discuss how we incorporate internal user feedback and provide the same discovery productivity improvements for Databricks customers in the future.


Data Discovery at Databricks with Amundsen
Khalil  Torphy

Khalil Torphy


Building Data Science into Organizations

We will share our experiences in building Data Science and Machine Learning (DS/ML) into organizations. As new DS/ML teams are created, many wrestle with questions such as: How can we most efficiently achieve short-term goals while planning for scale and production long-term? How should DS/ML be incorporated into a company?
We will bring unique perspectives: one as a previous Databricks customer leading a DS team, one as the second ML engineer at Databricks, and both as current Solutions Architects guiding customers through their DS/ML journeys.We will cover best practices through the crawl-walk-run journey of DS/ML: how to immediately become more productive with an initial team, how to scale and move towards production when needed, and how to integrate effectively with the broader organization.
This talk is meant for technical leaders who are building new DS/ML teams or helping to spread DS/ML practices across their organizations. Technology discussion will focus on Databricks, but the lessons apply to any tech platforms in this space.


Building Data Science into Organizations