Utilisation de Python et MeCab avec Azure Databricks

Objectif de cet article

Je souhaite effectuer un traitement simple du langage naturel (analyse morphologique + α) à l'aide de MeCab dans le prétraitement d'Azure Data Factory. Ce serait pratique si vous pouviez l'implémenter en tant que fonction et l'appeler plus tard à partir de divers services tels que LogicApps. J'ai donc envisagé deux méthodes de mise en œuvre.

  1. Azure Functions (Utilisation de Python et MeCab avec Azure Functions)
  2. Azure Databricks (cet article)

Pour le moment, Azure Functions semble être suffisant, mais en supposant une situation où des traitements lourds tels que l'apprentissage automatique seront effectués à l'avenir, j'ai également essayé Databricks car je voulais également comprendre le service Databricks.

Si vous écrivez d'abord la conclusion, ** ・ Les débutants d'Azure Databricks peuvent facilement comprendre ce qui suit Microsoft Learn (gratuit) **

Exécutez l'ingénierie des données avec Azure Databricks https://docs.microsoft.com/ja-jp/learn/paths/data-engineering-with-databricks/

** ・ MeCab peut être utilisé en installant "mecab-python3" sur le cluster avec PyPI ** ** - Terminez en accédant au portail Azure et à Databricks avec un navigateur, aucun paramètre d'environnement local requis **

Il existe de nombreux points de manque de compréhension, veuillez donc signaler toute erreur. Corrigez et ajoutez le cas échéant.

Présentation de Databricks

Plateforme d'analyse basée sur Apache Spark. Les ressources de calcul peuvent être mises à l'échelle et distribuées selon les besoins.

Le système de facturation

Il y a certaines parties qui sont un peu difficiles à comprendre, mais les frais sont à peu près pour les deux suivants.

· Machine virtuelle (VM) provisionnée dans le cluster · Unités de databricks (DBU) basées sur l'instance de VM sélectionnée

Il existe également de petits frais pour les disques gérés, le stockage d'objets blob et les adresses IP publiques.

Tarification Azure Databricks https://azure.microsoft.com/ja-jp/pricing/details/databricks/

Soit dit en passant, si vous utilisez la «version d'essai» de 14 jours, vous serez exempté de la facturation de DBU. D'autre part, sachez que les VM seront facturées comme d'habitude.

Avec Databricks (et non Azure), vous pouvez l'essayer gratuitement pendant 14 jours, ressources informatiques comprises. L'interface est la même pour Azure Databricks et Databricks, vous pouvez donc essayer ceci. https://databricks.com/try-databricks

Langue

Vous pouvez choisir parmi Python, Scala, SQL et R lorsque vous créez un notebook. En utilisant la commande Databricks Magic, il est possible de mélanger plusieurs langues dans un bloc-notes. (Si vous écrivez% python au début d'une cellule, cette cellule sera exécutée par python, etc.)

Créer des databricks à partir du portail Azure

Si vous recherchez et créez normalement à partir du portail Azure, il n'y a aucune hésitation particulière.

image.png

Je me demande s'il faut définir le niveau de prix sur Standard ou Premium, mais il semble qu'il soit possible de modifier le niveau de prix plus tard tout en conservant la configuration du notebook, de l'utilisateur et du cluster, donc je ne suis pas trop nerveux. Bien. Dans Premium, les fonctions de contrôle d'accès, d'authentification et de journal d'audit seront améliorées.

Mise à niveau ou rétrogradation de l'espace de travail Azure Databricks https://docs.microsoft.com/ja-jp/azure/databricks/administration-guide/account-settings/account#upgrade-or-downgrade-an-azure-databricks-workspace

De plus, comme mentionné ci-dessus, si vous sélectionnez la version d'essai et que vous l'utilisez tout le temps, vous serez facturé fermement avec les frais de VM, alors soyez prudent. (La facturation DBU est exonérée)

Créer un cluster avec Databricks

Après avoir déployé Databricks, accédez à la ressource et lancez l'espace de travail. Sélectionnez Clusters dans l'écran Databricks et Créer un cluster. image.png

Créez un cluster en définissant le type et le nombre de machines virtuelles à provisionner. image.png

Installer MeCab sur un cluster Databricks

La bibliothèque peut être installée à partir de l'écran des détails du cluster créé. image.png

Après cela, vous pouvez installer le package avec PyPI, etc. image.png

l'a fait. image.png

Créer et utiliser Notebook à partir de Workspace

Créez un bloc-notes en Python à partir de Workspace> Créer> Bloc-notes. Après cela, vous pouvez analyser la morphologie avec import Me Cab. image.png

Résumé

Comparé à l'utilisation de Python avec des fonctions, il était très facile à mettre en place car tout était terminé sur le Web. Même lors de la gestion avec plusieurs personnes, c'est facile car il n'est pas nécessaire de correspondre à l'environnement local.

Coût

Le coût de l'instance "DS3 v2" spécifiée par défaut est le suivant. Vous serez facturé pour le temps (en minutes) pendant lequel l'instance est active.

image.png

Il évolue sous une charge importante, par exemple, si le nombre de nœuds de calcul (Workers) double, le montant de facturation double également. (VM et DBU coûtent le double)

Tarification Azure Databricks https://azure.microsoft.com/ja-jp/pricing/details/databricks/

Recommended Posts

Utilisation de Python et MeCab avec Azure Databricks
Utiliser Python et MeCab avec Azure Functions
Utiliser Python et word2vec (appris) avec Azure Databricks
Lors de l'utilisation de MeCab avec python dans virtualenv
De Python à l'utilisation de MeCab (et CaboCha)
Analyse des tweets avec Python, Mecab et CaboCha
J'utilise tox et Python 3.3 avec Travis-CI
Utiliser mecab avec Python 3
J'ai essayé d'utiliser mecab avec python2.7, ruby2.3, php7
Programmation avec Python et Tkinter
Chiffrement et déchiffrement avec Python
[Python] Analyse morphologique avec MeCab
Python et matériel - Utilisation de RS232C avec Python -
[S3] CRUD avec S3 utilisant Python [Python]
Utilisation de Quaternion avec Python ~ numpy-quaternion ~
[Python] Utilisation d'OpenCV avec Python (basique)
E-mail hipchat avec postfix, fluentd et python sur Azure
python avec pyenv et venv
Utiliser OpenCV avec Python @Mac
Fonctionne avec Python et R
Envoyer en utilisant Python avec Gmail
Usurpation d'adresse IP à l'aide de tor sur macOS et vérification avec python
La communication I2C est effectuée en contrôlant la communication série avec python (à l'aide d'un périphérique USBGPIO8)
Utilisation de MLflow avec Databricks ② --Visualisation des paramètres expérimentaux et des métriques -
Contrôle de la communication série avec communication python et SPI (à l'aide d'un périphérique USBGPIO8)
Communiquez avec FX-5204PS avec Python et PyUSB
Compléter python avec emacs en utilisant company-jedi
Briller la vie avec Python et OpenCV
Moyenne harmonique par Python (en utilisant SciPy)
Robot fonctionnant avec Arduino et python
Installez Python 2.7.9 et Python 3.4.x avec pip.
[Python] Utilisation d'OpenCV avec Python (filtrage d'image)
Réseau neuronal avec OpenCV 3 et Python 3
Modulation et démodulation AM avec python
Scraping avec Node, Ruby et Python
Utilisation de Rstan de Python avec PypeR
Authentification à l'aide de l'authentification des utilisateurs tweepy et de l'authentification d'application (Python)
[Python] Utilisation d'OpenCV avec Python (transformation d'image)
Grattage avec Python, Selenium et Chromedriver
Remarques sur l'utilisation de MeCab depuis Python
[Python] Utilisation d'OpenCV avec Python (détection des bords)
Grattage avec Python et belle soupe
Encodage et décodage JSON avec python
Introduction à Hadoop et MapReduce avec Python
[GUI en Python] PyQt5-Glisser-déposer-
Utilisation de sessions et de réflexions avec SQL Alchemy
Lire et écrire NetCDF avec Python
Clustering et visualisation à l'aide de Python et CytoScape
J'ai joué avec PyQt5 et Python3
Notes sur l'utilisation de rstrip avec python.
Lire et écrire du CSV avec Python
Intégration multiple avec Python et Sympy
Coexistence de Python2 et 3 avec CircleCI (1.0)
Précautions lors de l'utilisation de six avec Python 2.5
Jeu Sugoroku et jeu d'addition avec Python
Modulation et démodulation FM avec Python
Essai de la reconnaissance vocale à l'aide d'Azure avec Python (entrée depuis le microphone)