[PYTHON] Databricks

Databricks est un service de création d'applications qui traitent de grandes quantités de données en parallèle. Développé par les développeurs d'Apache Spark en tant que service géré d'Apache Spark. J'étudie depuis quelques jours, mais je vais noter les points qui ont retenu mon attention.

En un mot, Apache Spark convertit automatiquement le code qui traite les données tabulaires en traitement parallèle et l'exécute en parallèle. Les développeurs peuvent traiter d'énormes données en parallèle comme s'ils écrivaient du code dans Pandas sur Jupyter. Une bibliothèque liée à l'apprentissage automatique est également incluse, de sorte que tout, du prétraitement des données à l'analyse et à la prédiction, peut être effectué avec Spark.

De plus, la différence avec son prédécesseur (?) Hadoop est que le stockage est séparé. En se spécialisant dans le traitement des données, Spark peut être utilisé en combinaison avec divers autres stockages.

Sources principales

Je vais enregistrer ce qui suit car il y avait quelque chose de difficile à comprendre avec Databricks.

CLI

Ce n'est pas déroutant, mais c'est assez gênant sans CLI, l'installation est donc essentielle. Utilisez pip3 pour l'installation. Vous pouvez l'utiliser en définissant les informations de connexion avec databricks configure.

#Réglage
$ pip3 install databricks-cli
$ databricks configure --token
Databricks Host (should begin with https://): https://hogehoge.cloud.databricks.com/
Token: (Entrez le jeton créé par l'interface graphique)

#Contrôle de fonctionnement
$ databricks fs ls

La commande databricks a plusieurs sous-commandes, mais le databricks fs est accompagné de dbfs comme abréviation depuis le début.

Secret

Les mots de passe, etc. sont enregistrés dans Secret pour chaque portée.

Créer une portée

databricks secrets create-scope --scope astro_snowflake

affichage de l'oscilloscope

databricks secrets list-scopes

Ajout de secrets à la portée

databricks secrets put --scope hoge_scope --key User
databricks secrets put --scope hoge_scope --key Password

affichage des secrets

databricks secrets list --scope astro_snowflake

Deux stockages de fichiers, DBFS et Workspace

Il existe deux fichiers utilisés par Databricks comme suit.

Vous ne pouvez pas accéder directement à Workspace par programmation!

Relation entre SQL Table et DataFrame

Databricks vous permet d'utiliser Python ou SQL pour accéder à la table. Pour utiliser la même table dans une autre langue, vous devez enregistrer la table en tant que table où elle peut être vue à partir de SQL.

Les tableaux ont global, qui peut être consulté de n'importe où, et local, qui ne peut être consulté qu'à partir du même notebook.

Enregistrez le DataFrame Python en tant que table locale appelée "temp_table_name". Vous pouvez maintenant vous y référer à partir de SQL.

df.createOrReplaceTempView("temp_table_name")

Enregistrez le DataFrame Python en tant que table globale appelée "global_table_name". Vous pouvez maintenant vous y référer à partir de SQL. La table globale peut être référencée à partir de données dans l'interface utilisateur Web.

df.write.format("parquet").saveAsTable("global_table_name")

Lisez la table enregistrée avec le nom "temp_table_name" en tant que DataFrame Python.

temp_table = spark.table("temp_table_name")

La table globale est stockée sur DBFS. L'emplacement où il est enregistré peut être confirmé par l'emplacement qui apparaît dans DÉCRIRE LES DÉTAILS.

DESCRIBE DETAIL `global_table_name`

Par exemple dbfs: / user / hive / warehouse / global_table_name

Commandes magiques du notebook

https://docs.databricks.com/notebooks/notebooks-use.html

Commande magique

Recommended Posts

Databricks
Effectuer un test unitaire de Databricks Notebook