MS_AzureDatabricksTutorial - NetDevInfraWGinOSSConsortium/NetDevInfraWiki GitHub Wiki
- æ»ãïŒAzure DatabricksïŒ
- Azure Databricksãã¥ãŒããªã¢ã«
- Azure Databricksã®Notebook
Azure Databricks ã®ãã¥ãŒããªã¢ã«ã
-
Azure ã®ç¡æè©Šçšçãµãã¹ã¯ãªãã·ã§ã³ã¯å©çšäžå¯ãšã®äºã
-
ãã ããAzure ã®åŸé課éå¶ãµãã¹ã¯ãªãã·ã§ã³ã§
Databricks ã® 14 æ¥éã®ç¡æè©Šçšçã䜿çšå¯èœã-
ç¡æã® Azure ã¢ã«ãŠã³ããš Azure Databricks ãŠããã | Microsoft Azure
https://azure.microsoft.com/ja-jp/free/services/databricks/æ¢åã®ãµãã¹ã¯ãªãã·ã§ã³ã§è©Šçšçã䜿çšããå Žåã
ã¯ãŒã¯ã¹ããŒã¹äœæã®äŸ¡æ Œã¬ãã«ã§è©Šçšçãéžæããã -
ãã ãã
-
Databricks ãŠãããã«ã¯èª²éãããªããã
-
ã¯ã©ã¹ã¿ã® VM ã«ã¯èª²éãããã®ã§æ³šæããã
-
-
è£è¶³ïŒèª²éãäºé建ãŠã«ãªã£ãŠããïŒ: Azure Databricks ã®æéã¯
DBUïŒDatabricks UnitïŒïŒ VM çã® Azure ãªãœãŒã¹ã®åç®ã§ããã
詊çšçã§ç¡æã«ãªãã®ã¯åè ã ãã§ãåŸè ïŒã¯ã©ã¹ã¿ã® VMã
ãããŒãžã ãã£ã¹ã¯ããããªã㯠IP ãªã©ïŒã¯éåžžã©ãã課éãããã
åŸè¿°ã®ãšããã¯ã©ã¹ã¿ã¯èªåçµäºã®èšå®ãå ¥ãã
PoC ãçµãã£ãããªãœãŒã¹ ã°ã«ãŒãããšåé€ããã®ãå®å šã§ããã
-
äœæéå§ã®æ¹æ³
-
ããŒã¿ã«ã§ ãªãœãŒã¹ã®äœæïŒœ > åæïŒœ > Azure Databricks ã®é ã«éžæ
-
è¥ããã¯ãAzure Databricks | Microsoft Azure ã®
Already an Azure customer? Get startedïŒœãæŒäžã
https://portal.azure.com/#create/Microsoft.Databricks
-
-
å€ãæå®
-
ã¯ãŒã¯ã¹ããŒã¹å
mydatabrickswsãšã -
ãµãã¹ã¯ãªãã·ã§ã³
ä»»æã®å€ -
ãªãœãŒã¹ ã°ã«ãŒã
-
DplRGãšã - æ¢å®å€ã¯ãã¯ãŒã¯ã¹ããŒã¹åã«ãprefix ãšããŠ
databricks-rg-ã
ä»äžããããã®ã
databricksXXXãšå ¥åãããšã
databricks-rg-databricksXXX-XXXXã«ãªã£ãŠããŸãã
-
-
å ŽæïŒãªãŒãžã§ã³ïŒ
- ããŒã¿ã»ãã€ãã©ã€ã³ç³»ã¯ãWest US 2ã蟺ããè¯ãããã
- ãªãŒãžã§ã³å¥ã® Azure 補å | Microsoft Azure
https://azure.microsoft.com/ja-jp/global-infrastructure/services/?products=databricks
-
äŸ¡æ Œã¬ãã«
詊çšçãéžæã§ããã -
Virtual Network
以äžã®é ç®ã¯ãå ±ã«ããããããéžæããã- Secure Cluster Connectivity ã«ãã... ããã〠(ãããªã㯠IP ãªã)
- èªåã®ä»®æ³ãããã¯ãŒã¯ (VNet) ã«... ãããã€ããŸã
-
ç§»è¡ã¡ã¢ïŒèª€åïŒ: å ããŒãžã®ãããŒã¿ã»ããŒãã©ã€ã³ç³»ãã¯
ãããŒã¿ã»ãã€ãã©ã€ã³ç³»ãã®èª€ããšè§£ããŠä¿®æ£ããã
-
ïŒ»äœæïŒœãã¿ã³ãæŒäž
ã¯ãŒã¯ã¹ããŒã¹ã®äœæã«ã¯æ°åãããã- ããããã€ãå®äºããŸãããã衚瀺ããããã
- ãªãœãŒã¹ã«ç§»åãã¿ã³ãæŒäžããã
- ã¯ãŒã¯ã¹ããŒã¹ã®èµ·åãã¿ã³ãæŒäžããã
- Databricks ã®ããŒã¿ã«ã»ãµã€ãã«ç§»åããã
-
ãšã³ããã€ã³ãã®ä¿è·
-
IP ã¢ãã¬ã¹å¶é
ãã¬ãã¢ã ã»ã©ã€ã»ã³ã¹ãå¿ èŠ -
FQDN å
<databricks-instance> = adb-<workspace-id>.<random-number>.azuredatabricks.net -
以äžãäžèšãããŒã«ãã® Databricks CLI ãå¿ èŠ
-
ããŒã¯ã³ã®èšå®
$ export DATABRICKS_TOKEN=xxxxxx -
æå¹åïŒWSL ã§ïŒ
$ curl -X PATCH https://<databricks-instance>/api/2.0/workspace-conf \ --header "Authorization: Bearer $DATABRICKS_TOKEN" \ -d '{ "enableIpAccessLists": "true" }'
-
ä»äžïŒWSL ã§ïŒ
$ curl -X POST https://<databricks-instance>/api/2.0/ip-access-lists \ --header "Authorization: Bearer $DATABRICKS_TOKEN" \ -d '{ "label": "office", "list_type": "ALLOW", "ip_addresses": [ "xxx.xxx.xxx.xxx" ] }'
-
-
ç§»è¡ã¡ã¢ïŒè±åïŒ: ãä»äžãã®
curlã® 1 è¡ç®æ«å°Ÿã«
è¡ç¶ç¶ã®\ãæ¬ ããŠããããè£ã£ãïŒãã®ãŸãŸã§ã¯ 2 è¡ç®ä»¥éã
å¥ã³ãã³ããšããŠè§£éãããïŒã
-
IaC å
-
Azure CLIã§
- çŸæç¹ã§ã¯ã€ã㯠ã¹ã¿ãŒãæ å ±ãªãã
-
PowerShellã§
-
ã¯ã€ã㯠ã¹ã¿ãŒãããã以äžã®ããã«äœæå¯èœã
Connect-AzAccount Set-AzContext -SubscriptionId ... Register-AzResourceProvider -ProviderNamespace Microsoft.Databricks New-AzDatabricksWorkspace -Name [åç§°] -ResourceGroupName [æ¢åã®RGå] -Location [å ŽæïŒãªãŒãžã§ã³ïŒ] -ManagedResourceGroupName [ManagedRGå] -Sku [sku]
-
åè
ã»https://opentouryo.osscons.jp/index.php?%E9%83%A8%E4%BC%9A%E3%83%A1%E3%83%A2%EF%BC%882021%E5%B9%B4%EF%BC%89
ã»https://github.com/OpenTouryoProject/DataPipeline/blob/develop/Batch/AzDatabricks/README.md
-
-
-
åè
- Databricks ãžã®ã¢ã¯ã»ã¹ã IP å¶éãã - é²ã®ã¡ã¢åž³
https://www.cloudnotes.tech/entry/databricks_iprestrict - Azure Databricks å人çšã¢ã¯ã»ã¹ããŒã¯ã³ã䜿çšããèªèšŒ - Azure Databricks -
Workspace | Microsoft Docs
https://docs.microsoft.com/ja-jp/azure/databricks/dev-tools/api/latest/authentication
- Databricks ãžã®ã¢ã¯ã»ã¹ã IP å¶éãã - é²ã®ã¡ã¢åž³
æé ã«åŸã Cluster ãäœæãã
-
New ClusterïŒœãæŒäž
-
å ¥å
- Cluster Name :
mysparkcluster - Cluster Mode : Standard
- Pool : None
- Runtime : 6.4 -> 7.3 LTS
- Autopilot Options
- â Enable autoscaling
- â Terminate after 20 minutes of inactivity
- Worker Type
ã»Standard_DS3_v2
ã»Min Workers 2 Max Workers 8
ã»â Spot instances
ã»Driver Type Same as worker
- Cluster Name :
-
Create Clusterãã¿ã³ãæŒäž
â» ãã®æé ã§ã¯ãã¯ã©ãŒã¿å¶éã®åé¡ã¯çºçããªãã£ã
ïŒçºçããå Žåã¯äžèšãåèããåç §ïŒã
-
以äžã®æé ã«åŸã Notebook ãäœæããã
-
New NotebookïŒœãæŒäž
-
å ¥å
- Name :
mynotebook - Language : Python
- Cluster :
mysparkcluster
- Name :
-
Createãã¿ã³ãæŒäž
-
-
Notebook äžã§ã€ã³ã¿ã©ã¯ãã£ãå®è¡ããŠã¿ãã
- ãããŒã»ã¯ãŒã«ã颚
ïŒPySpark ãåç §ïŒ
- ãããŒã»ã¯ãŒã«ã颚
-
åè
-
Databricks CLI
ãã¡ã€ã«ã»ã·ã¹ãã ã«ã¢ã¯ã»ã¹ãããããæã«äœ¿ãã-
Python 3.6 以éãå¿ èŠ
-
Python ã®ã€ã³ã¹ããŒã«
ïŒPython ãåç §ïŒ -
Databricks CLI ã®ã€ã³ã¹ããŒã«
pip3 ã䜿çšããŠã€ã³ã¹ããŒã«>pip3 install databricks-cli -
ã€ã³ã¹ããŒã«ã®ç¢ºèª
>databricks Usage: databricks [OPTIONS] COMMAND [ARGS]... Options: -v, --version 0.14.3 ... -
Databricks CLI ã®èšå®
>databricks configure --token-
ãã¹ã URL ã®å ¥å
Databricks Host (should begin with https://): https://.....azuredatabricks.net -
ããŒã¯ã³ã®ååŸ

-
-
ããŒã¯ã³ã®å ¥å
Token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -
以äžã®ããã«ãªãïŒToken ã®æã¯å ¥åã衚瀺ãããªãïŒã
>databricks configure --token Databricks Host (should begin with https://): https://.....azuredatabricks.net/ Token: >
-
è£è¶³ïŒæ§ CLI ã¯éæšå¥šïŒ:
pip install databricks-cliã§å ¥ã
ã¬ã¬ã·ãŒ CLIïŒ0.x ç³»ïŒã¯éæšå¥šãšãªããçŸåšã¯
Go å®è£ ã® **Databricks CLIïŒv0.2xx 以éïŒ**ã«çœ®ãæãã£ãŠãã
ïŒdatabricks fs cpãªã©ã®ã³ãã³ãäœç³»ã¯æŠãç¶æãããŠããïŒã
ãŸããå人çšã¢ã¯ã»ã¹ ããŒã¯ã³ïŒPATïŒãã
**OAuthïŒU2M / M2MïŒ**ã«ããèªèšŒãæšå¥šãããããã«ãªã£ãŠããã
Notebook ã®ã»ã«ã«èšè¿°å¯èœã
äžèšãåèãäžã®ã... ããŒã¿ã®æœåºã倿ãèªã¿èŸŒã¿ãè¡ãã
äžèšãåèãäžã®ãEvent Hubs ã䜿çšããŠ... ã¹ããªãŒã é ä¿¡ããã
äžèšãåèãäžã®ãAzure Databricks ã䜿çšããã¹ããªãŒãã³ã° ããŒã¿ã«å¯Ÿããææ åæã
ç§»è¡ã¡ã¢ïŒã¢ã³ã«ãŒã®éè€ïŒ: å ããŒãžã§ã¯äžèš 3 ã€ã®ç¯ã
ãã¹ãŠåãã¢ã³ã«ãŒïŒ#qb0fbdbeïŒãæã£ãŠããã
GitHub Wiki ã§ã¯èŠåºãããã¹ãããã¢ã³ã«ãŒãçæãããããã
åç §ã¯ãäžèšãåèãäžã®ãããšãã圢ã«çœ®ãæããã
Notebook ã®ã»ã«ã«èšè¿°å¯èœã
ïŒPySpark ã®äžè¬çãªèª¬æã¯
PySpark ãåç
§ïŒ
- äžèšãåèãäžã®ã¯ã€ã㯠ã¹ã¿ãŒãã
- Docs ã®èª¬æãéãªã®ã§ä»¥äžã泚éãå ããŠã¿ãã
-
CSV ã TSV ãã¡ã€ã«ã®ãããªè¡æåãã¡ã€ã«åœ¢åŒ
ã«å¯Ÿãå¹ççã§é«æ§èœãªåæåã¹ãã¬ãŒãžåœ¢åŒã -
ããŠã³ããŒãå ãã€ãã€ãäžæãªã®ã§ã以äžããååŸããã
https://github.com/Teradata/kylo/tree/master/samples/sample-data/parquet -
å ãã¯ãJupyter Notebookã§ããŒã«ã«ããèªèŸŒã
-
èªèŸŒ
parquet_df = spark.read.parquet("path/to/userdata1.parquet")
-
衚瀺
parquet_df.show()
-
çµæ
+-------------------+---+----------+---------+--------------------+------+---------------+-------------------+--------------------+----------+---------+--------------------+--------------------+ | registration_dttm| id|first_name|last_name| email|gender| ip_address| cc| country| birthdate| salary| title| comments| +-------------------+---+----------+---------+--------------------+------+---------------+-------------------+--------------------+----------+---------+--------------------+--------------------+ |2016-02-03 16:55:29| 1| Amanda| Jordan| [email protected]|Female| 1.197.201.2| 6759521864920116| Indonesia| 3/8/1971| 49756.53| Internal Auditor| 1E+02| ...
-
-
äžå¿ãSpark SQL ãå®è¡ããŠã¿ãã
-
Spark SQL
parquet_df.createOrReplaceTempView('source') parquet_df = spark.sql('SELECT * FROM source LIMIT 10')
-
衚瀺
print('Displaying top 10 rows: ') parquet_df.show()
-
çµæ
äžèšã 10 è¡ã«çµãããçµæ
-
Azure ã¹ãã¬ãŒãžãžã¢ã¯ã»ã¹
ãã®æ¬¡ã«ãAzure ã¹ãã¬ãŒãžããèªèŸŒãã§ã¿ãã
-
äžèšã® Parquet ãã¡ã€ã«ã Azure ã¹ãã¬ãŒãžã«é 眮
-
Azure ã¹ãã¬ãŒãžäœæã®ã¹ã¯ãªããã¯
https://opentouryo.osscons.jp/index.php?%E9%83%A8%E4%BC%9A%E3%83%A1%E3%83%A2%EF%BC%882021%E5%B9%B4%EF%BC%89 - Parquet ãã¡ã€ã«ã¯ããŒã¿ã«ããã¢ããããŒãå¯èœ
-
Azure ã¹ãã¬ãŒãžäœæã®ã¹ã¯ãªããã¯
-
Jupyter Notebookäžã® PySpark ããèªèŸŒãã§ã¿ãã
-
å®è¡
from pyspark.sql import SparkSession spark: SparkSession = SparkSession.builder.appName("SimpleApp").getOrCreate() blob_account_name = "osscjpdevinfra" blob_container_name = "container1" blob_relative_path = "userdata1.parquet" blob_sas_token = r"?st=xxxxxxxxxxxxxxxxxxxx" wasbs_path = 'wasbs://%s@%s.blob.core.windows.net/%s' % (blob_container_name, blob_account_name, blob_relative_path) spark.conf.set('fs.azure.sas.%s.%s.blob.core.windows.net' % (blob_container_name, blob_account_name), blob_sas_token) print('Remote blob path: ' + wasbs_path) parquet_df = spark.read.parquet(wasbs_path) parquet_df.show()
-
çµæ
ã©ã€ãã©ãªãè¶³ããªãããããClass org.apache.hadoop.fs.azure.NativeAzureFileSystem$Secure not found
-
è£è¶³ïŒåå ãšçŸåšã®æžãæ¹ïŒ: ãã®ãšã©ãŒã¯ãããŒã«ã«ã® Spark ã«
hadoop-azureãšazure-storageã® JAR ãå ¥ã£ãŠããªãããã«èµ·ãã
ïŒDatabricks ã®ã¯ã©ã¹ã¿ã«ã¯æåããå ¥ã£ãŠããã®ã§ã
次é ã®ãšãã Databricks äžã§ã¯åãïŒã
ãªãwasbs://ã¯
.NET for Apache Sparkã®ããŒã¿æ¥ç¶ã§ã
è§Šãããšããéæšå¥šã§ãçŸåšã¯
**abfss://ïŒAzure Data Lake Storage Gen2ïŒ**ã䜿ãã
èªèšŒã SAS ããŒã¯ã³ã§ã¯ãªããUnity Catalog ã®
ã¹ãã¬ãŒãžè³æ Œæ å ±ããããŒãžã ID ã䜿ãã®ãçŸåšã®äœæ³ã§ããã
Azure Databricksäžã§å®è¡
ã©ã€ãã©ãªãè¶³ããªãã®ã§ãAzure Databricksäžã§å®è¡ããŠã¿ãã
-
åæ
- ã¯ãŒã¯ã¹ããŒã¹ã®äœæïŒäœæã®ã¹ã¯ãªããã¯äžèšãã¯ãŒã¯ã¹ããŒã¹ãïŒ
- ã¯ã©ã¹ã¿ã®äœæïŒäœæã®æé ã¯äžèšãã¯ã©ã¹ã¿ãïŒ
- Notebook ã®äœæïŒäœæã®æé ã¯äžèšãNotebookãïŒ
-
å çšã®ã³ãŒããå®è¡ããã
-
Cluster ãéå§ããã
-
å·Šäžã®ããããããŠã³ã»ãªã¹ãããäœæãã Cluster ãéžæãã
-
ãããã Start ClusterãéžæããŠæŒäžããã
-
-
ïŒå çšã®ïŒã³ãŒããã»ã«ã«è²Œãä»ããã
-
Shift + Enter ããŒã䜿çšããŠã³ãŒããå®è¡
-
ç¡äºãå®è¡ãããããšã確èªããã
以äžã®ããã«ã³ãŒãã倿ŽããŠåå®è¡ããã-
倿Žå
parquet_df.show()
-
倿ŽåŸ
display(parquet_df)
-
-
ããŒã¿ã®èŠèŠçãªè¡šçŸãäœæããã
displayã§è¡šç€ºããã圢åŒã®åºåã®äžçªäžããã
Plot Optionsãã¯ãªãã¯ãã以äžã®ããã«ããã
-
Cluster ã忢ããã
- Cluster ãéå§ããéã«äœ¿ã£ãããããããŠã³ã»ãªã¹ããã
Cluster 管çç»é¢ãžé£ã¶ã - Cluster 管çç»é¢ã§ãTerminate or Delete ãéžæããã
- 課éãã¢ã¬ãªã®ã§ã
ã»PoC ãªããªãœãŒã¹ã»ã°ã«ãŒãããšåé€ããŠãããæ¹ãè¯ãã
ã»ãšèšãã®ãããªãœãŒã¹ã»ã°ã«ãŒããèŠããš Cluster ã®ãªãœãŒã¹ã倧éã«ã
- Cluster ãéå§ããéã«äœ¿ã£ãããããããŠã³ã»ãªã¹ããã
-
äžèšãDocs ã®ã¯ã€ã㯠ã¹ã¿ãŒãããçµãã£ãã®ã§ã
PySpark ãã¥ãŒããªã¢ã«
ïŒPySparkïŒãã
Azure Databricks ã§åãããŠã¿ãã
- on Jupyter Notebook on Docker
- DataFrame ã«å¯Ÿããæ§ã ãªæäœ
äžèšãåè > databricks.comãã® Apache Spark ãã¥ãŒããªã¢ã«ïŒã¹ããªãŒãã³ã°ïŒãã
Azure Databricks ã§åãããŠã¿ãã
äœæã®ã¹ã¯ãªããã¯ä»¥äž
- éä¿¡ïŒãªã
- åä¿¡ïŒäžèšãã¯ãŒã¯ã¹ããŒã¹ã
readStream ã§ inputPath ã maxFilesPerTrigger ã§èªã... ã¿ãããªæãã«ãªãã
from pyspark.sql.functions import *
# Similar to definition of staticInputDF above, just using `readStream` instead of `read`
streamingInputDF = (
spark
.readStream
.schema(jsonSchema) # Set the schema of the JSON data
.option("maxFilesPerTrigger", 1) # Treat a sequence of files as a stream by picking one file at a time
.json(inputPath)
)
# Same query as staticInputDF
streamingCountsDF = (
streamingInputDF
.groupBy(
streamingInputDF.action,
window(streamingInputDF.time, "1 hour"))
.count()
)ã€ã³ã¿ã©ã¯ãã£ãã«ããå Žåã
-
in-memory ããŒãã«ã«ååãä»ãã
query = ( streamingCountsDF .writeStream .format("memory") # memory = store in-memory table .queryName("counts") # counts = name of the in-memory table .outputMode("complete") # complete = all the counts should be in the table .start() )
-
ã
%sqlãã®ããžãã¯ã³ãã³ãã§ã»ã¬ã¯ãããã%sql select action, date_format(window.end, "MMM-dd HH:mm") as time, count from counts order by time, action
ã¿ãããªæ¹æ³ã«ãªãã
EventHubs ã® Kafkaãšæ§é åã¹ããªãŒãã³ã°
PySpark ãã¥ãŒããªã¢ã«äžã®æ§é åã¹ããªãŒãã³ã°ã®å
¥åã® Kafka åãã§ããªãã£ã
ïŒã³ã³ããã® Jupyter Notebook ããã³ã³ããã® Kafka ã«æ¥ç¶ã§ããªãã£ãïŒã®ã§ã
Azure Databricks ã§ãªãã©ã€ã
äœæã®ã¹ã¯ãªããã¯ä»¥äž
- éä¿¡ïŒAzure Event Hubs
- åä¿¡ïŒäžèšãã¯ãŒã¯ã¹ããŒã¹ã
-
Azure Databricks ã§åä¿¡ããã
-
äžèšãAzure Databricks äžã§å®è¡ãã®èŠé ã§ Clusterã»Notebook ãäœæããã
-
PySpark ãã¥ãŒããªã¢ã«äžã®æ§é åã¹ããªãŒãã³ã°ã®
å ¥åéšåã Kafka åããã¹ã¯ãªããã以äžã«æžãåºãã- ãã ããEvent Hubs ã® Kafka ãšã³ããã€ã³ãé¢šã«æžãã
- ãã©ã¡ã¿ã¯
çŽæ£ã¯ã©ã€ã¢ã³ãã䜿çšããåä¿¡åŠçãåèã«ããã
ïŒè©³çŽ°äžæã ããeh_saslã®å é ã«kafkashadedãšèšãæååãå¿ èŠïŒ
import sys from pyspark.sql import SparkSession from pyspark.sql.functions import explode from pyspark.sql.functions import split from pyspark.sql.functions import window bootstrapServers = "<eventhubsNameSpace>.servicebus.windows.net:9093" eh_sasl = 'kafkashaded.org.apache.kafka.common.security.plain.PlainLoginModule required username="$ConnectionString" password="<primaryConnectionString>";' windowSize = 10 slideSize = 10 if slideSize > windowSize: print("<slideSize> must be less than or equal to <windowSize>", file=sys.stderr) windowDuration = '{} seconds'.format(windowSize) slideDuration = '{} seconds'.format(slideSize) spark = SparkSession\ .builder\ .appName("StructuredNetworkWordCountWindowed")\ .getOrCreate() # Create DataFrame representing the stream of input lines from kafka lines = spark \ .readStream \ .format("kafka") \ .option("kafka.bootstrap.servers", bootstrapServers) \ .option("subscribe", "test_topic") \ .option("kafka.sasl.mechanism", "PLAIN") \ .option("kafka.security.protocol", "SASL_SSL") \ .option("kafka.sasl.jaas.config", eh_sasl) \ .load() # Split the lines into words, retaining timestamps # split() splits each line into an array, and explode() turns the array into multiple rows words = lines.select( explode(split(lines.value, ' ')).alias('word'), lines.timestamp ) # Group the data by window and word and compute the count of each group windowedCounts = words.groupBy( window(words.timestamp, windowDuration, slideDuration), words.word ).count().orderBy('window') # Start running the query that prints the windowed word counts to the console query = windowedCounts\ .writeStream\ .outputMode('complete')\ .format('console')\ .start() query.awaitTermination()
-
è£è¶³ïŒ
kafkashadedãå¿ èŠãªçç±ïŒ: ãè©³çŽ°äžæã ãããšçä¿ãããŠãã
kafkashaded.ã®ãã¬ãã£ãã¯ã¹ã¯ãDatabricks Runtime ã
Kafka ã¯ã©ã€ã¢ã³ãã®ã¯ã©ã¹ã shadeïŒããã±ãŒãžåãæžãæããŠåé 眮ïŒ
ããŠããããã§ããã
kafka.sasl.jaas.configã®å€ã¯ã¯ã©ã¹åãæååã§æå®ããã®ã§ã
shade åŸã®å®éã®ããã±ãŒãžåãæžããªããšã¯ã©ã¹ãèŠã€ãããªãã
Databricks 以å€ã®çŽ ã® Spark ã§ã¯org.apache.kafka...ã®ãŸãŸã§è¯ãã
-
æ§é åã¹ããªãŒãã³ã°ã§ã¯ïŒïŒïŒã
console ãžã®åºåã確èªã§ããªãã£ãã®ã§ã
ã€ã³ã¿ã©ã¯ãã£ãã«ããå Žåã-
æåŸãã以äžã®ããã«å€æŽãã
ïŒin-memory ããŒãã«ã«ååã€ããŠïŒ# Start running the query that prints the windowed word counts to the console query = windowedCounts\ .writeStream\ .format("memory")\ .queryName("counts")\ .outputMode("complete")\ .start() # query.awaitTermination()
-
%sqlã®ããžãã¯ã³ãã³ãã§ã»ã¬ã¯ãããã%sql select * from counts
-
è£è¶³ïŒconsole ã«åºãªãçç±ïŒ: Notebook ã§ã¯
format("console")ã®åºåã¯ãã©ã€ãã®æšæºåºåã«æµããããã
ã»ã«ã®çµæãšããŠã¯è¡šç€ºãããªã
ïŒã¯ã©ã¹ã¿ã®ãã©ã€ã ãã°ãèŠãã°åºãŠããïŒã
format("memory")ïŒ%sqlã«åãæ¿ãããšããå ããŒãžã®å¯ŸåŠã¯æ£ããã
ãªã Databricks ã§ã¯ãdisplay(streamingDF)ã䜿ããš
ã¹ããªãŒã ã®çµæããã®ãŸãŸã»ã«äžã§å¯èŠåã§ããã
äžèšãåè > Qiitaããåç §ã
äžèšãåèãäžã®ã... ããŒãããã¯ãã... SQL Server Linux Docker ã³ã³ãããŒã®
ã¯ãšãªãå®è¡ããã
ã¡ãã£ãšå€ãã®ãïŒã¢ã«ã³ãã€ã
äžèšãåèãäžã®ãAzure Databricks ã䜿ã£ãŠã¿ãã
... ã¡ãšå€ãããä»ã«ãè²ã ã¢ã¬ãªã®ã§ããã¹ã
Azure Data Lake ã®ãã¥ãŒããªã¢ã«
äžèšãåèãäžã®
ããã¥ãŒããªã¢ã«:Azure Data Lake Storage Gen2ãAzure Databricksãããã³ Sparkã
... ãã©ã€ã ããŒã¿ã®ããŠã³ããŒããã§ããªãã
ïŒ.NET for Apache SparkïŒ
-
.NET for Apache Spark ã¬ã€ãã® Get started in 10 minutesã®
åšèŸºãåŠçããŠã¿ãã -
ãã«ãããã¢ãã ZIP ããŠã
spark-submitããã®ã§ããŒã«ã«ç°å¢æ§ç¯ãå¿ èŠã
-
å®éã«çºè¡ïŒã¢ããããŒãïŒå®è¡ããŠã¿ãã
-
ã¿ãŒã²ãã㯠ubuntu
>dotnet publish -c Release -f netcoreapp3.1 -r ubuntu.16.04-x64 -
publish ãããã®ã
publish.zipã«ãŸãšããã
Windows ãªã®ã§ãPowerShellã䜿çšããŠã¿ããpowershell compress-archive publish ..\publish.zip
-
äŸåé¢ä¿ãã¡ã€ã«ãããŠã³ããŒãããã
â» URL : https://github.com/dotnet/spark/tree/master/deployment
-
Microsoft.Spark.Worker
ããŒã«ã«å®è¡ã§äœ¿çšãããã®ã«å¯Ÿå¿ãã Linux çã®*.tar.gz
https://github.com/dotnet/spark/releases/download/v1.0.0/Microsoft.Spark.Worker.netcoreapp3.1.linux-x64-1.0.0.tar.gz -
install-worker.sh
Apache Spark ã¯ã©ã¹ã¿ã« Worker ãã€ããªãã€ã³ã¹ããŒã« -
db-init.sh- ã¯ãŒã«ãŒãšã¢ããªã®äŸåé¢ä¿ã Databricks Spark ã¯ã©ã¹ã¿ã«ã€ã³ã¹ããŒã«ã
-
DOTNET_SPARK_RELEASEãä¿®æ£ãããšããæé ãããããã³ã¬ã¯äžèŠãããã
â»
*.shã®è¡ã®çµãã㯠Unix åœ¢åŒ (LF) ã§ããããšã確èª
次ã®ãã¡ã€ã«ãã¢ããããŒããã
-
ã¢ããªã±ãŒã·ã§ã³
-
äžåŒ
-
publish.zip
çºè¡ããã¢ã㪠-
input.txt
èªåã¯ãinput.txtããããžã§ã¯ãåºåã«å«ããŠããã®ã§ publish ã«
忢±ãããŠãããã
ã«ã¬ã³ãã»ãã£ã¬ã¯ããªãç°ãªãããå¥éã¢ããããŒããå¿ èŠããã
ïŒæ ¹æ ã¯ä»¥äžã®ãšã©ãŒã»ã¡ãã»ãŒãžïŒãMicrosoft.Spark.JvmException: org.apache.spark.sql.AnalysisException: Path does not exist: dbfs:/input.txt; -
microsoft-spark-2-4_2.11-1.0.0.jar
ããŒã«ã«å®è¡ã§äœ¿çšãããã®
ïŒpublish äžã§äœ¿çšããããŒãžã§ã³ïŒ
-
-
dbfs ã«ã¢ããããŒã
äžèšãããŒã«ãã® Databricks CLI ã䜿ã£ãŠãdatabricks fs cp input.txt dbfs:/input.txt databricks fs cp publish.zip dbfs:/spark-dotnet/publish.zip databricks fs cp microsoft-spark-2-4_2.11-1.0.0.jar dbfs:/spark-dotnet/microsoft-spark-2-4_2.11-1.0.0.jarâ»
input.txtã ZIP ã«å梱ãããŠããŠãã
ã«ã¬ã³ãã»ãã£ã¬ã¯ããªãç°ãªãã®ã§ã¢ããããŒããå¿ èŠã
-
-
äŸåé¢ä¿
-
äžèšãäŸåé¢ä¿ã®ããŠã³ããŒããã®äžåŒ
- Microsoft.Spark.Worker
install-worker.shdb-init.sh
-
dbfs ã«ã¢ããããŒã
Databricks CLI ã䜿ã£ãŠãdatabricks fs cp Microsoft.Spark.Worker.netcoreapp3.1.linux-x64-1.0.0.tar.gz dbfs:/spark-dotnet/Microsoft.Spark.Worker.netcoreapp3.1.linux-x64-1.0.0.tar.gz databricks fs cp install-worker.sh dbfs:/spark-dotnet/install-worker.sh databricks fs cp db-init.sh dbfs:/spark-dotnet/db-init.sh
-
-
åè
- DBFS CLI - Azure Databricks - Workspace | Microsoft Docs
https://docs.microsoft.com/ja-jp/azure/databricks/dev-tools/cli/dbfs-cli
- DBFS CLI - Azure Databricks - Workspace | Microsoft Docs
-
ãžã§ããäœæããã
ã¯ãŒã¯ã¹ããŒã¹ïŒDatabricks ã®ããŒã¿ã«ã»ãµã€ãïŒã®-
å·Šã¡ãã¥ãŒäžã® Job ã¢ã€ã³ã³ãéžæãã
-
次㫠+ Create Job ãéžæããŠãJob åãå ¥åã
-
以äžãUI ã倿ŽãããŠããã®ã§ã以äžãåèã«ããã
- ãžã§ã - Azure Databricks | Microsoft Docs
https://docs.microsoft.com/ja-jp/azure/databricks/jobs
- ãžã§ã - Azure Databricks | Microsoft Docs
-
-
spark-submitã®æ§æ
åãã«ãTaskã®ïŒ»TypeãNotebookããSpark Submitã«å€æŽããã -
ã¯ã©ã¹ã¿æ§æã®èšå®
次ã«ãCluster ã®ïŒ»EditãéžæããConfigure New Cluster ã衚瀺ãããã-
Databricks Runtime Version ãéžæ
- Spark 2.4.1 ãç¡ãã£ãã®ã§ãæãè¿ãã
- Runtime: 5.5 LTS (Scala 2.11, Spark 2.4.3) ã«å€æŽã
-
Init ã¹ã¯ãªããã
db-init.shã«èšå®-
Advanced options ãå±éããã
-
Init Scriptsã¿ããéžæããã
-
DestinationããããããŠã³ãªã¹ãã§ DBFS ãéžæããã
-
Init Script Pathã«ä»¥äžãå ¥åããã
dbfs:/spark-dotnet/db-init.sh -
ConfirmïŒœãæŒäžããã
-
â» ã³ã¬ã«ããã
db-init.shå ã§install-worker.shãæ§æããã
ïŒ$1-$3ããã©ã¡ã¿ã©ã€ãºïŒã -
-
ãã©ã¡ã¿ã®èšå®
-
ãã©ã¡ã¿ã«æ¬¡ã®æååã貌ãä»ããã
["--class","org.apache.spark.deploy.dotnet.DotnetRunner","/dbfs/spark-dotnet/microsoft-spark-2-4_2.11-1.0.0.jar","/dbfs/spark-dotnet/publish.zip","mySparkApp"]
-
èªåã¯ã
-
mySparkAppâMySparkAppãšããŠããã®ã§ããã®æ§ã«å€æŽããã -
å®è¡ã«å¿ èŠãšãªãåŒæ°ãååšããå Žåã
spark-submitã§ã¯ã以äžã®ããã«æå®ã§ããæš¡æ§ã.NET for Apache Spark ãžã§ãã Databricks ã«éä¿¡ãã | Microsoft Docs
https://docs.microsoft.com/ja-jp/dotnet/spark/how-to-guides/databricks-deploy-methods -
... ãšèšãäºã§ãå®éããã©ã¡ã¿ã«ã¯ãæ¬¡ã®æååã貌ãä»ããã
["--class","org.apache.spark.deploy.dotnet.DotnetRunner","/dbfs/spark-dotnet/microsoft-spark-2-4_2.11-1.0.0.jar","/dbfs/spark-dotnet/publish.zip","MySparkApp", "input.txt"]
-
-
CreateïŒœãæŒäžããã
-
-
ã¢ããªã®å®è¡
-
ããã§ãInit ã¹ã¯ãªãããå®è¡ãããã
-
ãžã§ãã®ã¯ã©ã¹ã¿ãäœæããããŸã§æ°åãããã
ïŒãªãœãŒã¹ã»ã°ã«ãŒãã確èªãããšã¯ã©ã¹ã¿ã®ãªãœãŒã¹å¢ã確èªã§ããïŒ -
Job åã®æšªã«ãã Run Now ãã¿ã³ãã¯ãªãã¯ããã
-
Job ã§æ§æãã Spark ã¯ã©ã¹ã¿ã§ Job ãå®è¡ãããã
-
å®è¡çµæã¯ãCompleted Runs 衚äžã® Spark åã«è¡šç€ºããã Logs ãã確èªã§ããã

-
-
ãªãœãŒã¹ã®ã¯ãªãŒã³ã¢ãã
- ãªãœãŒã¹ã»ã°ã«ãŒãã確èªãããšã¯ã©ã¹ã¿ã®ãªãœãŒã¹æžã確èªã§ãã
- å¿ èŠã«å¿ããŠãïŒã¯ãŒã¯ã¹ããŒã¹ãšã¯ã©ã¹ã¿ã®ïŒãªãœãŒã¹ã»ã°ã«ãŒããåé€ããã
-
äžèšããžã§ããäœæããŠå®è¡ãã®
ãã¯ã©ã¹ã¿ã®äœæäžã®db-init.shèšå®ïŒã¢ããªã®å®è¡ã
â ã¹ã¯ãªãã ã¢ã¯ã·ã§ã³å®è¡ -
ãšã©ãŒ
-
1
Azure ã®ã¯ã©ãŒã¿å¶éãè§£é€ããã-
Cluster:
Driver: Standard_DS3_v2, Workers: Standard_DS3_v2, 8 workers, 5.5 LTS (includes Apache Spark 2.4.3, Scala 2.11) -
Message:
Unexpected failure while waiting for the cluster (...) to be ready. Cause Unexpected state for cluster (...): AZURE_QUOTA_EXCEEDED_EXCEPTION(CLIENT_ERROR): azure_error_code : QuotaExceeded, azure_error_message : Operation could not be completed as it results in exceeding approved Total Regional Cores quota. Additional details - Deployment Model: Resource Manager, Location: japaneast, Current Limit: 10, Current Usage: 4, Additional Required: 28, (Minimum) New Limit Required: 32. Submit a request for Quota increase at ... by specifying parameters listed in the 'Details' section for deployment to succeed. Pleas ... ***WARNING: message truncated. Skipped 964 bytes of output** -
ã¯ã©ãŒã¿å¶éãè§£é€ããã
以äžã®ã¯ã©ãŒã¿ã 32 ã«èšå®ããã
ã»Total Regional vCPUs ã®ã¯ã©ãŒã¿
ã»Standard_DS3_v2 â DSv2 ã·ãªãŒãº(Standard DSv2 Promo Family vCPUs) ã®
ãã¯ã©ãŒã¿
-
-
2
input.txtã®æ±ãã«ã€ããŠã- ZIP 忢±ããŠããŠããå¥éã¢ããããŒããå¿ èŠã«ãªãã
- ãŸããã³ãã³ãåŒæ°ã§ãã¡ã€ã«åãæž¡ããŠããå Žåã
spark-submitã®ãã©ã¡ã¿ã§èšå®å¯èœã
-
ç§»è¡ã¡ã¢ïŒURL ã®åé€ïŒ: äžèšãšã©ãŒ ã¡ãã»ãŒãžäžã®
ã¯ã©ãŒã¿å¢å ç³è« URL ã«ã¯ãµãã¹ã¯ãªãã·ã§ã³ ID ãå«ãŸããŠããããã
ã...ãã«çœ®ãæããïŒç³è«ã¯ããŒã¿ã«ã®
ãã«ããšãµããŒãâãµããŒã ãªã¯ãšã¹ãããè¡ããïŒã
ã¯ãŒã¯ã¹ããŒã¹ãã¯ãªãŒã³ããããããæ°èŠäœæããå¿
èŠãããã®ã§ã
1 ã€ã®ãããã«ãŸãšããŠãã³ãã³ãã©ã€ã³åŒæ°ã§åãæ¿ããã®ãè¯ãããã
-
ã¢ããª
-
publish.zipã®çºè¡ãšã¢ããããŒãcd ...\DotNet4ApacheSpark\mySparkBatchApp\mySparkBatchApp dotnet publish -c Release -f netcoreapp3.1 -r ubuntu.16.04-x64 cd ...\mySparkBatchApp\bin\Release\netcoreapp3.1\ubuntu.16.04-x64 powershell compress-archive publish ..\publish.zip cd .. databricks fs rm dbfs:/spark-dotnet/publish.zip databricks fs cp publish.zip dbfs:/spark-dotnet/publish.zip -
projects_smaller.csvã®ã¢ããããŒãdatabricks fs cp projects_smaller.csv dbfs:/projects_smaller.csv
-
-
spark-submitã®ãã©ã¡ã¿èšå®["--class","org.apache.spark.deploy.dotnet.DotnetRunner","/dbfs/spark-dotnet/microsoft-spark-2-4_2.11-1.0.0.jar","/dbfs/spark-dotnet/publish.zip","mySparkBatchApp", "projects_smaller.csv"]
-
ãšã©ãŒ
äœæ ããæåŸã®DataFrame.Showã§ãšã©ãŒã«ãªã£ãŠ
4 ã€ç®ã®çµæã»ããã衚瀺ãããªãã£ãïŒåå äžæïŒã
æªå®æœ
æªå®æœ
å¯èœãããããµã³ãã«ãç¡ãã®ã¯ãäžèšãScalaãã§ããããïŒ
ç§»è¡ã¡ã¢ïŒæªèšè¿°ïŒ: ãJavaãç¯ã¯å ããŒãžã§ãèŠåºãïŒã...ãïŒã®ã¿ã§ã
æ¬æãæžãããŠããªãã
- Azure Databricks ã䜿ã£ãŠã¿ã â ãã¬ã³ã Azure ã¬ã·ã | AI ã«åŒ·ãæ
å ±ãµã€ã
https://azure-recipe.kc-cloud.jp/2018/08/azure-databricks/
Apache Spark ãã¥ãŒããªã¢ã«: Apache Spark ãã¥ãŒããªã¢ã«ãéå§ãã
- ã¯ããã«
https://databricks.com/jp/spark/getting-started-with-apache-spark - ã¯ã€ãã¯ã¹ã¿ãŒã
https://databricks.com/jp/spark/getting-started-with-apache-spark/quick-start - DATAFRAME
https://databricks.com/jp/spark/getting-started-with-apache-spark/dataframes - DATASET
https://databricks.com/jp/spark/getting-started-with-apache-spark/datasets - æ©æ¢°åŠç¿
https://databricks.com/jp/spark/getting-started-with-apache-spark/machine-learning - ã¹ããªãŒãã³ã°
https://databricks.com/jp/spark/getting-started-with-apache-spark/streaming - 次ã®ã¹ããã
https://databricks.com/jp/spark/getting-started-with-apache-spark/whats-next
-
ãã¥ãŒããªã¢ã«
-
Azure Databricks ã䜿çšããŠããŒã¿ã®æœåºã倿ãèªã¿èŸŒã¿ãè¡ã
https://docs.microsoft.com/ja-jp/azure/databricks/scenarios/databricks-extract-load-sql-data-warehouse -
Event Hubs ã䜿çšããŠããŒã¿ã Azure Databricks ã«ã¹ããªãŒã é ä¿¡ãã
https://docs.microsoft.com/ja-jp/azure/databricks/scenarios/databricks-stream-from-eventhubs -
Azure Databricks ã䜿çšããã¹ããªãŒãã³ã° ããŒã¿ã«å¯Ÿããææ åæ
https://docs.microsoft.com/ja-jp/azure/databricks/scenarios/databricks-sentiment-analysis-cognitive-services
-
-
ã¯ã€ã㯠ã¹ã¿ãŒã
-
Azure portal ã䜿çšã㊠Azure Databricks ã¯ãŒã¯ã¹ããŒã¹ã§ Spark ãžã§ããå®è¡ãã
https://docs.microsoft.com/ja-jp/azure/databricks/scenarios/quickstart-create-databricks-workspace-portal -
PowerShell ã䜿çšã㊠Azure Databricks ã¯ãŒã¯ã¹ããŒã¹ãäœæãã
https://docs.microsoft.com/ja-jp/azure/databricks/scenarios/quickstart-create-databricks-workspace-powershell
-
-
ãã¥ãŒããªã¢ã«
- Azure Databricks ããŒãããã¯ãã
ä»®æ³ãããã¯ãŒã¯å ã® SQL Server Linux Docker ã³ã³ãããŒã®ã¯ãšãªãå®è¡ãã
https://docs.microsoft.com/ja-jp/azure/databricks/scenarios/vnet-injection-sql-server - Azure Data Lake Storage Gen2ãAzure Databricksãããã³ Spark
https://docs.microsoft.com/ja-jp/azure/storage/blobs/data-lake-storage-use-databricks-spark
- Azure Databricks ããŒãããã¯ãã
-
Azure Databricks - Workspace > Apache Spark ã®æŠèŠ
https://docs.microsoft.com/ja-jp/azure/databricks/getting-started/spark/- Apache Spark ã䜿ã£ãŠã¿ã
https://docs.microsoft.com/ja-jp/azure/databricks/getting-started/spark/quick-start - DataFrames ã®ãã¥ãŒããªã¢ã«
https://docs.microsoft.com/ja-jp/azure/databricks/getting-started/spark/dataframes - Datasets ã®ãã¥ãŒããªã¢ã«
https://docs.microsoft.com/ja-jp/azure/databricks/getting-started/spark/datasets - MLlib ã䜿çšããæ©æ¢°åŠç¿ã®ãã¥ãŒããªã¢ã«
https://docs.microsoft.com/ja-jp/azure/databricks/getting-started/spark/machine-learning - äžèšãæ§é åã¹ããªãŒãã³ã°ã
- Apache Spark ã䜿ã£ãŠã¿ã
-
Azure Databricks ã䜿çšããŠããŒã¿ ãµã€ãšã³ã¹ãå®è¡ãã
https://docs.microsoft.com/ja-jp/learn/paths/perform-data-science-azure-databricks/-
Azure Databricks ã®èª¬æ
https://docs.microsoft.com/ja-jp/learn/modules/describe-azure-databricks/- Azure Databricks ã«ã€ããŠèª¬æãã
- ã¯ãŒã¯ã¹ããŒã¹ãšã¯ã©ã¹ã¿ãŒãäœæãã
- ããŒãããã¯ãçè§£ãã
- æŒç¿: ããŒãããã¯ãæäœãã
-
Spark ã¢ãŒããã¯ãã£ã®åºç€
https://docs.microsoft.com/ja-jp/learn/modules/spark-architecture-fundamentals/- Azure Databricks ã® Spark ã¯ã©ã¹ã¿ãŒã®ã¢ãŒããã¯ãã£ã«ã€ããŠçè§£ãã
- Spark ãžã§ãã®ã¢ãŒããã¯ãã£ã«ã€ããŠçè§£ãã
-
Azure Databricks ã§ããŒã¿ã®èªã¿åããšæžã蟌ã¿ãè¡ã
https://docs.microsoft.com/ja-jp/learn/modules/read-write-data-azure-databricks/- CSV 圢åŒã§ããŒã¿ãèªã¿åã
- JSON 圢åŒã§ããŒã¿ãèªã¿åã
- Parquet 圢åŒã§ããŒã¿ãèªã¿åã
- ããŒãã«ãšãã¥ãŒã«æ ŒçŽãããŠããããŒã¿ãèªã¿åã
- ããŒã¿ãæžã蟌ã
- æŒç¿: ããŒã¿ã®èªã¿åããšæžã蟌ã¿ãè¡ã
-
Azure Databricks ã§ããŒã¿ãã¬ãŒã ãæäœãã
https://docs.microsoft.com/ja-jp/learn/modules/work-dataframes-azure-databricks/- ããŒã¿ãã¬ãŒã ã«ã€ããŠèª¬æãã
- äžè¬çãªããŒã¿ãã¬ãŒã ã¡ãœããã䜿çšãã
- display 颿°ã䜿çšãã
- æŒç¿: åå¥ã®èšäº
-
ãŠãŒã¶ãŒå®çŸ©é¢æ°ãæäœãã
https://docs.microsoft.com/ja-jp/learn/modules/work-with-user-defined-functions/- ãŠãŒã¶ãŒå®çŸ©é¢æ°ãäœæãã
- æŒç¿: ãŠãŒã¶ãŒå®çŸ©é¢æ°ã䜿çšãã ETL æäœãå®è¡ãã
-
Delta Lake ã®æ§ç¯ãšã¯ãšãª
https://docs.microsoft.com/ja-jp/learn/modules/build-query-delta-lake/- ãªãŒãã³ãœãŒã¹ã® Delta Lake ã®èª¬æ
- æŒç¿: åºæ¬ç㪠Delta Lake æ©èœã®äœ¿çš
- Azure Databricks ã«ãã£ãŠ Delta Lake ã管çããæ¹æ³ã«ã€ããŠã®èª¬æ
- æŒç¿: Delta Lake Time Machine ã䜿çšããŠæé©åãå®è¡ãã
-
Azure Databricks ã䜿çšããæ©æ¢°åŠç¿ã®å®è¡
https://docs.microsoft.com/ja-jp/learn/modules/perform-machine-learning-with-azure-databricks/- æ©æ¢°åŠç¿ãçè§£ãã
- æŒç¿: ã¢ãã«ããã¬ãŒãã³ã°ããäºæž¬ãäœæãã
- æ¢çŽ¢çããŒã¿åæã䜿çšããŠããŒã¿ãçè§£ãã
- æŒç¿: æ¢çŽ¢çããŒã¿åæãå®è¡ãã
- æ©æ¢°åŠç¿ã¯ãŒã¯ãããŒã«ã€ããŠèª¬æãã
- æŒç¿: æ©æ¢°åŠç¿ã®ããŒã¹ã©ã€ã³ ã¢ãã«ãæ§ç¯ããŠè©äŸ¡ãã
-
æ©æ¢°åŠç¿ã¢ãã«ã®ãã¬ãŒãã³ã°
https://docs.microsoft.com/ja-jp/learn/modules/train-machine-learning-model/- ããŒã¿ã»ããã®ç¹åŸŽéåãå®è¡ãã
- æŒç¿: ããŒã¿ã»ããã®ç¹åŸŽéåãçµäºãã
- ååž°ã¢ããªã³ã°ãçè§£ãã
- æŒç¿: ååž°ã¢ãã«ãæ§ç¯ããŠè§£éãã
-
Azure Databricks ã§ MLflow ãæäœãã
https://docs.microsoft.com/ja-jp/learn/modules/work-with-mlflow-azure-databricks/- MLflow ã䜿çšããŠå®éšã远跡ããã¡ããªãã¯ããã°èšé²ããå®è¡ãæ¯èŒãã
- æŒç¿: MLflow ãæäœããŠãå®éšã®ã¡ããªãã¯ããã©ã¡ãŒã¿ãŒãææç©ã
ã¢ãã«ã远跡ãã
-
ãã€ããŒãã©ã¡ãŒã¿ãŒã®ãã¥ãŒãã³ã°ã«ããã¢ãã«éžæã®å®è¡
https://docs.microsoft.com/ja-jp/learn/modules/perform-model-selection-with-hyperparameter-tuning/- ã¢ãã«ã®éžæãšãã€ããŒãã©ã¡ãŒã¿ãŒã®ãã¥ãŒãã³ã°ã«ã€ããŠã®èª¬æ
- æŒç¿: ãã€ããŒãã©ã¡ãŒã¿ãŒããã¥ãŒãã³ã°ããŠæé©ãªã¢ãã«ãéžæãã
-
忣åãã¬ãŒãã³ã°ã®ããã® Horovod ã«ãããã£ãŒã ã©ãŒãã³ã°
https://docs.microsoft.com/ja-jp/learn/modules/deep-learning-with-horovod-distributed-training/- Horovod ã䜿çšããŠãã£ãŒã ã©ãŒãã³ã° ã¢ãã«ããã¬ãŒãã³ã°ãã
- Petastorm ã䜿çšããŠã忣åã¢ãã« ãã¬ãŒãã³ã°çšã« Horovod ã§
Apache Parquet 圢åŒã®ããŒã¿ã»ãããèªã¿åã - æŒç¿: ãã£ãŒã ã©ãŒãã³ã° ã¢ãã«ããã¬ãŒãã³ã°ããããã«
Horovod ãš Petastorm ã䜿çšãã
-
äžèšãAzure Machine Learningã
-
-
æ§é åã¹ããªãŒãã³ã°
https://docs.microsoft.com/ja-jp/azure/databricks/spark/latest/structured-streaming/- ã㢠ããŒãããã¯
https://docs.microsoft.com/ja-jp/azure/databricks/spark/latest/structured-streaming/demo-notebooks - éçšç°å¢ã§ã®æ§é åã¹ããªãŒãã³ã°
https://docs.microsoft.com/ja-jp/azure/databricks/spark/latest/structured-streaming/production - æ§é åã¹ããªãŒãã³ã°ã®äŸ
https://docs.microsoft.com/ja-jp/azure/databricks/spark/latest/structured-streaming/examples
- ã㢠ããŒãããã¯
-
ãã¥ãŒããªã¢ã«
https://docs.microsoft.com/ja-jp/azure/databricks/getting-started/spark/streaming- ã㢠Scala ããŒãããã¯
https://docs.microsoft.com/ja-jp/azure/databricks/_static/notebooks/structured-streaming-scala.html - ã㢠Python ããŒãããã¯
https://docs.microsoft.com/ja-jp/azure/databricks/_static/notebooks/structured-streaming-python.html
- ã㢠Scala ããŒãããã¯
-
Azure Machine Learning ãæäœããŠãµãŒãã¹ ã¢ãã«ããããã€ãã
https://docs.microsoft.com/ja-jp/learn/modules/work-with-azure-machine-learning-deploy-serving-models/ -
AutoML ãš Azure Databricks ã䜿çšããŠéçºãã
https://docs.microsoft.com/ja-jp/azure/machine-learning/how-to-configure-databricks-automl-environment
- KcMichael
https://qiita.com/KcMichael- Azure Databricks:
-
- ãªãœãŒã¹ã®äœæ
https://qiita.com/KcMichael/items/eb17285a46bda68f9c64
- ãªãœãŒã¹ã®äœæ
-
- Databricks ã®åºæ¬äºé
https://qiita.com/KcMichael/items/34902eedf9270059c041
- Databricks ã®åºæ¬äºé
- 3-1. DBFS ã« Blob Storage ãããŠã³ã
https://qiita.com/KcMichael/items/8f5c8a3f97df31769f11 - 3-2. DBFS ã« Azure Data Lake Storage Gen2 ãããŠã³ã
https://qiita.com/KcMichael/items/98493d2e9bb3eb3f12db -
- PySpark åºæ¬æäœ
https://qiita.com/KcMichael/items/8b1d51ac0e9f64633853
- PySpark åºæ¬æäœ
-
- Azure Databricks:
ç§»è¡ã¡ã¢ïŒç©ºã®ç¯ïŒ: ãåè > Qiita > Scalaãã¯å ããŒãžã§ã
èŠåºãã®ã¿ã§é ç®ãç¡ãã£ããããç¯ããšçããã
- Azure Databricks / Azure Databricksã®Notebook
- Azure Event Hubsãã¥ãŒããªã¢ã«
- .NET for Apache Spark / .NET for Apache Sparkãã¥ãŒããªã¢ã«
- Azure HDInsight / Azureã®ã¯ã©ãŒã¿
Tags: ã¯ã©ãŠã, ããã°ããŒã¿, Azure