- 追加された行はこの色です。
- 削除された行はこの色です。
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。
-[[戻る>.NET for Apache Spark]]
--.NET for Apache Sparkチュートリアル
--[[.NET for Apache Sparkのデータ接続]]
--[[.NET for Apache SparkのSQL]]
* 目次 [#je3d6ac1]
#contents
*概要 [#ee897365]
**チュートリアル [#cbcd8222]
以下のチュートリアルを実施してみた。
>[[Get started in 10 minutes>#g7fce881]]~
≒ [[.NET for Apache Spark 101>#vf8b2398]]-α~
≒ [[.NET for Apache Spark ガイド>#zd2d65ee]]-α~
≠ github.com...README.md#get-started
**前提 [#s695f3aa]
***初回 [#c8e7248e]
-OS~
Windows
-ランタイム
--.NET:netcoreapp3.1
--Java:jdk-8u201-windows-x64.exe
-ミドルウェア
--Apache Spark
---ver:2.4.1
---パス:
C:\prog\dev\spark\spark-2.4.1-bin-hadoop2.7
--.NET for Apache Spark
---ver:1.0.0
---パス:
C:\prog\dev\spark\Microsoft.Spark.Worker-1.0.0
--winutils.exe~
Windowsで利用できるHadoopバイナリ
---ver:.../hadoop-2.7.1/bin/winutils.exe
---パス:
C:\prog\dev\spark\spark-2.4.1-bin-hadoop2.7\bin
-その他
--7-Zip(インストール済み)
***Ver-UP 1 [#z5eb69b2]
-Apache Spark
--ver:3.0.1
---パス:
C:\prog\dev\spark\spark-3.0.1-bin-hadoop2.7
--.NET for Apache Spark
---ver:2.0.0
---パス:
C:\prog\dev\spark\Microsoft.Spark.Worker-2.0.0
-実行時、spark-submitの引数に指定する、~
<application-jar>のバージョンを上げておく。
microsoft-spark-2-4_2.11-1.0.0.jar
→ microsoft-spark-3-0_2.12-2.0.0.jar
*詳細 [#oa8d7c9e]
**開発 [#le456446]
***[[Get started in 10 minutes>#g7fce881]] [#s680c185]
-概要
--デモを見た限り、入力はTXTファイルで単語を数える。
--[[メソッド構文のSpark SQL>.NET for Apache Spark#x77ba954]]で単語を数え集計して表示(いきなりハードル高い)。
-CMDコピペ用
--Apache Spark
---HOMEの指定
setx /M HADOOP_HOME C:\prog\dev\spark\spark-2.4.1-bin-hadoop2.7\
setx /M SPARK_HOME C:\prog\dev\spark\spark-2.4.1-bin-hadoop2.7\
setx /M PATH "%PATH%;%HADOOP_HOME%;%SPARK_HOME%bin"
※ &color(red){注意};:\binとすると、spark-3.0.1-bin-hadoop2.7&color(red){\\};binとなって動かない。
---動作確認
>spark-submit --version
Welcome to
/ __/__ ___ _____/ /__
_\ \/ _ \/ _ `/ __/ '_/
/___/ .__/\_,_/_/ /_/\_\ version 2.4.1
/_/
Using Scala version 2.11.12, Java HotSpot(TM) 64-Bit Server VM, 1.8.0_201
Branch
Compiled by user on 2019-03-26T22:44:44Z
Revision
Url
Type --help for more information.
--.NET for Apache Spark
---パス設定
setx /M DOTNET_WORKER_DIR C:\prog\dev\spark\Microsoft.Spark.Worker-1.0.0
---動作確認~
以下のアプリをビルドして動作させる。
-アプリ
--物体~
https://github.com/OpenTouryoProject/SampleProgram/tree/master/Azure/DotNet4ApacheSpark/MySparkApp
--実行
\MySparkApp\bin\Debug\netcoreapp3.1>spark-submit ^
--class org.apache.spark.deploy.dotnet.DotnetRunner ^
--master local ^
microsoft-spark-2-4_2.11-1.0.0.jar ^
dotnet MySparkApp.dll input.txt
...
20/11/19 12:39:29 INFO CodeGenerator: Code generated in 10.4659 ms
+------+-----+
| word|count|
+------+-----+
| .NET| 3|
|Apache| 2|
| app| 2|
| This| 2|
| Spark| 2|
| World| 1|
|counts| 1|
| for| 1|
| words| 1|
| with| 1|
| Hello| 1|
| uses| 1|
+------+-----+
20/11/19 12:39:29 INFO SparkUI: Stopped Spark web UI at http://nishi.mshome.net:4040
...
--[[SQLの説明>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Spark%20SQL#oaa10345]]
***[[バッチ処理>#zd2d65ee]] [#l7b4829d]
-概要
--デモを見た限り、入力はCSVファイルで集計処理を行う。
--集計処理は以下の2つ
---[[メソッド構文のSpark SQL>.NET for Apache Spark#x77ba954]]で言語毎のフォークの平均回数を降順に並べる。
---[[UDF>.NET for Apache Spark#w1fa929a]]を[[メソッド構文のSpark SQL>.NET for Apache Spark#x77ba954]]から利用し、指定の日付以降の更新日付を示す。
-アプリ
--物体~
https://github.com/OpenTouryoProject/SampleProgram/tree/master/Azure/DotNet4ApacheSpark/mySparkBatchApp
--実行
>spark-submit ^
--class org.apache.spark.deploy.dotnet.DotnetRunner ^
--master local ^
microsoft-spark-2-4_2.11-1.0.0.jar ^
dotnet mySparkBatchApp.dll projects_smaller.csv
...
+----+--------------------+--------+--------------------+--------------------+--------+---------------+-----------+-------+-------------------+
| id| url|owner_id| name| descriptor|language| created_at|forked_from|deleted| updated_at|
+----+--------------------+--------+--------------------+--------------------+--------+---------------+-----------+-------+-------------------+
| 1|https://api.githu...| 1| ruote-kit|RESTful wrapper f...| Ruby|12/8/2009 10:17| 2| 0| 11/5/2015 1:15|
|null| null| null| null| null| null| null| null| null| null|
|null| null| null| null| null| null| null| null| null| null|
| 4|https://api.githu...| 24| basemap| null| C++|6/14/2012 14:14| 3| 1|0000-00-00 00:00:00|
| 5|https://api.githu...| 28| cocos2d-x|Port of cocos2d-i...| C++|3/12/2012 16:48| 6| 0| 10/22/2015 17:36|
|null| null| null| null| null| null| null| null| null| null|
| 7|https://api.githu...| 42| cocos2d-x|Port of cocos2d-i...| C|4/23/2012 10:20| 6| 0| 11/1/2015 17:32|
|null| null| null| null| null| null| null| null| null| null|
| 9|https://api.githu...| 66| rake-compiler|Provide a standar...| Ruby| 8/1/2012 18:33| 14556189| 0| 11/3/2015 19:30|
|null| null| null| null| null| null| null| null| null| null|
|null| null| null| null| null| null| null| null| null| null|
| 12|https://api.githu...| 70|heroku-buildpack-...| null| Shell| 8/2/2012 12:50| 11| 0| 11/2/2015 7:34|
|null| null| null| null| null| null| null| null| null| null|
|null| null| null| null| null| null| null| null| null| null|
|null| null| null| null| null| null| null| null| null| null|
|null| null| null| null| null| null| null| null| null| null|
|null| null| null| null| null| null| null| null| null| null|
|null| null| null| null| null| null| null| null| null| null|
|null| null| null| null| null| null| null| null| null| null|
|null| null| null| null| null| null| null| null| null| null|
+----+--------------------+--------+--------------------+--------------------+--------+---------------+-----------+-------+-------------------+
only showing top 20 rows
+--------------------+--------------------+-----------+----------------+-----------+-------+-------------------+
| name| descriptor| language| created_at|forked_from|deleted| updated_at|
+--------------------+--------------------+-----------+----------------+-----------+-------+-------------------+
| ruote-kit|RESTful wrapper f...| Ruby| 12/8/2009 10:17| 2| 0| 11/5/2015 1:15|
| cocos2d-x|Port of cocos2d-i...| C++| 3/12/2012 16:48| 6| 0| 10/22/2015 17:36|
| cocos2d-x|Port of cocos2d-i...| C| 4/23/2012 10:20| 6| 0| 11/1/2015 17:32|
| rake-compiler|Provide a standar...| Ruby| 8/1/2012 18:33| 14556189| 0| 11/3/2015 19:30|
| cobertura-plugin|Jenkins cobertura...| Java| 7/26/2012 18:46| 193522| 0| 11/1/2015 19:55|
| scala-vs-erlang|A performance tes...| Erlang|12/25/2011 13:51| 1262879| 0| 10/22/2015 4:50|
| opencv|OpenCV GitHub Mirror| C++| 8/2/2012 12:50| 29| 0| 10/26/2015 6:44|
| redmine_git_hosting|A ChiliProject/Re...| Ruby| 7/30/2012 12:53| 42| 0| 10/28/2015 10:54|
| redmine_git_hosting|A ChiliProject/Re...| Ruby|10/26/2011 23:17| 207450| 0| 10/27/2015 22:43|
| OpenCV-iOS|This project is a...|Objective-C| 8/2/2012 12:55| 39| 1|0000-00-00 00:00:00|
| browserid|A secure, distrib...| JavaScript| 6/30/2012 22:35| 1589| 0| 10/10/2015 0:34|
| protobuf-cmake|CMake build suppo...| \N| 8/2/2012 14:35| 61| 0| 10/31/2015 1:22|
| loso|Chinese segmentat...| Python| 8/2/2012 12:57| 67| 1|0000-00-00 00:00:00|
| yui3| YUI 3.x Source Tree| JavaScript| 7/13/2012 14:48| 55| 1|0000-00-00 00:00:00|
| doctag_java|Java library for ...| Java| 8/2/2012 12:57| 70| 1|0000-00-00 00:00:00|
|willdurand.github...| My new blog!| JavaScript| 8/2/2012 12:06| 84| 0| 11/4/2015 9:15|
| manaserv|A flexible 2D MMO...| C++| 8/1/2011 17:05| 90| 0| 10/10/2015 4:42|
| manaserv|A flexible 2D MMO...| C++| 3/24/2011 17:38| 90| 0| 10/16/2015 18:29|
| libuv|platform layer fo...| C| 8/2/2012 12:57| 74| 0| 10/31/2015 8:21|
| cucumber-js|Pure Javascript C...| JavaScript| 5/28/2012 15:47| 10457| 1|0000-00-00 00:00:00|
+--------------------+--------------------+-----------+----------------+-----------+-------+-------------------+
only showing top 20 rows
+------------+------------------+
| language| avg(forked_from)|
+------------+------------------+
| Racket| 1.2550711E7|
| Makefile| 3611689.0|
|ActionScript| 2474502.75|
| Erlang| 1262879.0|
| C#| 914767.625|
| PHP| 617219.4333333333|
| C++| 448911.1538461539|
| Ruby|349311.23214285716|
| Perl| 298380.0|
| Puppet| 253680.5|
| JavaScript| 240718.6494845361|
| Java| 149923.71875|
| Python| 76043.26190476191|
| Shell| 13276.6|
| Objective-C|2281.4761904761904|
| \N| 1995.095238095238|
| C|1576.4705882352941|
| Scala| 1358.5|
| Groovy| 1049.0|
| HaXe| 829.0|
+------------+------------------+
only showing top 20 rows
[2021-06-25T05:26:32.6714551Z] [NISHI] [Debug] [ConfigurationService] Using the environment variable to construct .NET worker path:
...\spark\Microsoft.Spark.Worker-1.0.0\Microsoft.Spark.Worker.exe.
+--------------------+--------------------+-----------+----------------+-----------+-------+-------------------+----------+
| name| descriptor| language| created_at|forked_from|deleted| updated_at|datebefore|
+--------------------+--------------------+-----------+----------------+-----------+-------+-------------------+----------+
| ruote-kit|RESTful wrapper f...| Ruby| 12/8/2009 10:17| 2| 0| 11/5/2015 1:15| true|
| cocos2d-x|Port of cocos2d-i...| C++| 3/12/2012 16:48| 6| 0| 10/22/2015 17:36| true|
| cocos2d-x|Port of cocos2d-i...| C| 4/23/2012 10:20| 6| 0| 11/1/2015 17:32| true|
| rake-compiler|Provide a standar...| Ruby| 8/1/2012 18:33| 14556189| 0| 11/3/2015 19:30| true|
| cobertura-plugin|Jenkins cobertura...| Java| 7/26/2012 18:46| 193522| 0| 11/1/2015 19:55| true|
| scala-vs-erlang|A performance tes...| Erlang|12/25/2011 13:51| 1262879| 0| 10/22/2015 4:50| true|
| opencv|OpenCV GitHub Mirror| C++| 8/2/2012 12:50| 29| 0| 10/26/2015 6:44| true|
| redmine_git_hosting|A ChiliProject/Re...| Ruby| 7/30/2012 12:53| 42| 0| 10/28/2015 10:54| true|
| redmine_git_hosting|A ChiliProject/Re...| Ruby|10/26/2011 23:17| 207450| 0| 10/27/2015 22:43| true|
| OpenCV-iOS|This project is a...|Objective-C| 8/2/2012 12:55| 39| 1|0000-00-00 00:00:00| false|
| browserid|A secure, distrib...| JavaScript| 6/30/2012 22:35| 1589| 0| 10/10/2015 0:34| false|
| protobuf-cmake|CMake build suppo...| \N| 8/2/2012 14:35| 61| 0| 10/31/2015 1:22| true|
| loso|Chinese segmentat...| Python| 8/2/2012 12:57| 67| 1|0000-00-00 00:00:00| false|
| yui3| YUI 3.x Source Tree| JavaScript| 7/13/2012 14:48| 55| 1|0000-00-00 00:00:00| false|
| doctag_java|Java library for ...| Java| 8/2/2012 12:57| 70| 1|0000-00-00 00:00:00| false|
|willdurand.github...| My new blog!| JavaScript| 8/2/2012 12:06| 84| 0| 11/4/2015 9:15| true|
| manaserv|A flexible 2D MMO...| C++| 8/1/2011 17:05| 90| 0| 10/10/2015 4:42| false|
| manaserv|A flexible 2D MMO...| C++| 3/24/2011 17:38| 90| 0| 10/16/2015 18:29| false|
| libuv|platform layer fo...| C| 8/2/2012 12:57| 74| 0| 10/31/2015 8:21| true|
| cucumber-js|Pure Javascript C...| JavaScript| 5/28/2012 15:47| 10457| 1|0000-00-00 00:00:00| false|
+--------------------+--------------------+-----------+----------------+-----------+-------+-------------------+----------+
only showing top 20 rows
...
--[[SQLの説明>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Spark%20SQL#n1c1114b]]
***[[構造化ストリーミング>#zd2d65ee]] [#v2288c2e]
-概要~
(別名、マイクロ・バッチ)
--デモを見た限り、入力はNetcatからのテキスト行で、変換処理を行う。
--[[UDF>.NET for Apache Spark#w1fa929a]]を[[メソッド構文のSpark SQL>.NET for Apache Spark#x77ba954]]から利用し、エンリッチメントする。
--なお、ストリーミング処理では、ループを書くのではなく、StreamingQueryを使用する模様。
---これは、Spark SQL エンジンに基づいた、Structured Streamingによる。
---StreamingQueryのStartでアプリケーションが開始する(読込 → 変換 → 書込の逐次実行)。
---StreamingQueryのAwaitTerminationでアプリケーションが外部から停止されるまで実行。
-アプリ
--物体~
https://github.com/OpenTouryoProject/SampleProgram/tree/master/Azure/DotNet4ApacheSpark/mySparkStreamingApp
--実行
---[[ncコマンド>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?nc%20%28netcat%29%20%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89]]でリスナーを作成([[WSL>Windows Subsystem for Linux]]を使用
$ nc -lk 9999
abcdefg
---spark-submitでデプロイ
>spark-submit ^
--class org.apache.spark.deploy.dotnet.DotnetRunner ^
--master local ^
microsoft-spark-2-4_2.11-1.0.0.jar ^
dotnet mySparkStreamingApp.dll localhost 9999
...
-------------------------------------------
Batch: x
-------------------------------------------
+---------+
| col|
+---------+
| abcdefg|
|abcdefg 7|
+---------+
--[[SQLの説明>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Spark%20SQL#kfcf74cc]]
-参考
--[[Spark Streaming - 開発基盤部会 Wiki > Structured Streaming>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Spark%20Streaming#z0ea8bef]]
--Spark Structured Streaming with Kafka~
https://www.slideshare.net/SotaroKimura/spark-structured-streaming-with-kafka
***[[ML.NETでの感情分析>#zd2d65ee]] [#bb5afcf2]
&color(red){ココから以降、Microsoft.Sparkのバージョンを2.0.0に上げている。};
-概要
--デモを見た限り、入力はyelptest.csvで、感情分析を行う。
--なお、学習は、yelptrain.csvを使用して行う。
--学習の結果、XXXXML.Modelプロジェクトが生成されるので、参照を追加する。
--ML処理を呼出す[[UDF>.NET for Apache Spark#w1fa929a]]を[[クエリ構文のSpark SQL>.NET for Apache Spark#x77ba954]]から利用する。
-学習
--シナリオ タイルは「感情分析」ではなく「テキストの分類」。~
--また、「トレーニンする時間」が短いと、~
「トレーニング期間が終了しましたが、トレーニングされたモデルがありません。」~
なるエラーが発生することがある(時間を長くすると解決する)。
GPU Service not found. Falling back to CPU AutoML Service.
| Trainer MicroAccuracy MacroAccuracy Duration #Iteration |
|1 AveragedPerceptronOva 0.7885 0.7924 5.0 1 |
|2 SdcaMaximumEntropyMulti 0.7966 0.7675 7.2 2 |
|3 LightGbmMulti 0.7442 0.7365 11.4 3 |
|4 SymbolicSgdLogisticRegressionOva 0.7115 0.7144 3.4 4 |
===============================================Experiment Results=================================================
------------------------------------------------------------------------------------------------------------------
| Summary |
------------------------------------------------------------------------------------------------------------------
|ML Task: multiclass-classification |
|Dataset: ...\MLSparkModel\yelptrain.csv |
|Label : Sentiment |
|Total experiment time : 27.0050593 Secs |
|Total number of models explored: 4 |
------------------------------------------------------------------------------------------------------------------
| Top 4 models explored |
------------------------------------------------------------------------------------------------------------------
| Trainer MicroAccuracy MacroAccuracy Duration #Iteration |
|1 SdcaMaximumEntropyMulti 0.7966 0.7675 7.2 1 |
|2 AveragedPerceptronOva 0.7885 0.7924 5.0 2 |
|3 LightGbmMulti 0.7442 0.7365 11.4 3 |
|4 SymbolicSgdLogisticRegressionOva 0.7115 0.7144 3.4 4 |
------------------------------------------------------------------------------------------------------------------
Code Generated
-アプリ
--物体~
https://github.com/OpenTouryoProject/SampleProgram/tree/master/Azure/DotNet4ApacheSpark/MLSparkModel
--実行
>spark-submit ^
--class org.apache.spark.deploy.dotnet.DotnetRunner ^
--master local ^
microsoft-spark-3-0_2.12-2.0.0.jar ^
dotnet MLSparkModelML.ConsoleApp.dll yelptest.csv MLModel.zip
...
+--------------------+---------+
| ReviewText|Sentiment|
+--------------------+---------+
|Waitress was swee...| 1|
|I also had to tas...| 1|
|I'd rather eat ai...| 0|
|Cant say enough g...| 1|
|The ambiance was ...| 1|
|The waitress and ...| 1|
|I would not recom...| 0|
|Overall I wasn't ...| 0|
|My gyro was basic...| 0|
| Terrible service!| 0|
|Thoroughly disapp...| 0|
|I don't each much...| 1|
|Give it a try, yo...| 1|
|By far the BEST c...| 1|
|Reasonably priced...| 1|
|Everything was pe...| 1|
|The food is very ...| 1|
|it was a drive to...| 0|
|At first glance i...| 1|
|Anyway, I do not ...| 0|
+--------------------+---------+
only showing top 20 rows
※ &color(red){色々と試したが、動かなかった。};
>
-UDF仕込んでshowするとエラーになったり、
-Could not load type 'Microsoft.ML.Data.DataViewTypeAttribute' と言うエラーが出たり。
--[[SQLの説明>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Spark%20SQL#g8615de3]]
***ウィンドウ関数の利用 [#w3d503ab]
-概要~
ウィンドウ関数で、対象レコード以外の~
レコードを参照することができるらしい。
-アプリ~
--物体~
以下を比較。
---https://github.com/dotnet/spark/blob/main/examples/Microsoft.Spark.CSharp.Examples/Sql/Streaming/StructuredNetworkCharacterCount.cs
---https://github.com/dotnet/spark/blob/main/examples/Microsoft.Spark.CSharp.Examples/Sql/Streaming/StructuredNetworkWordCount.cs
---https://github.com/dotnet/spark/blob/main/examples/Microsoft.Spark.CSharp.Examples/Sql/Streaming/StructuredNetworkWordCountWindowed.cs
---https://github.com/dotnet/spark/blob/main/examples/Microsoft.Spark.CSharp.Examples/Sql/Streaming/StructuredKafkaWordCount.cs
--実行~
---[[構造化ストリーミング>#v2288c2e]]同様、~
ncでリスナーを作成([[WSL>Windows Subsystem for Linux]]を使用
$ nc -lk 9999
abcdefg
---StructuredNetworkCharacterCountの実行結果
>spark-submit ^
--class org.apache.spark.deploy.dotnet.DotnetRunner ^
--master local ^
microsoft-spark-3-0_2.12-2.0.0.jar ^
dotnet StructuredNetworkCharacterCount.dll localhost 9999
...
-------------------------------------------
Batch: 0
-------------------------------------------
+---+
|col|
+---+
+---+
...
-------------------------------------------
Batch: 1
-------------------------------------------
21/07/30 11:18:09 INFO CodeGenerator: Code generated in 10.39 ms
+--------+
| col|
+--------+
| dsada|
| dsada 5|
| dsadas|
|dsadas 6|
+--------+
...
---StructuredNetworkWordCountの実行結果
>spark-submit ^
--class org.apache.spark.deploy.dotnet.DotnetRunner ^
--master local ^
microsoft-spark-3-0_2.12-2.0.0.jar ^
dotnet StructuredNetworkWordCount.dll localhost 9999
...
※ &color(red){トラブルシューティング中};
---StructuredNetworkWordCountWindowedの実行結果
>spark-submit ^
--class org.apache.spark.deploy.dotnet.DotnetRunner ^
--master local ^
microsoft-spark-3-0_2.12-2.0.0.jar ^
dotnet StructuredNetworkWordCountWindowed.dll localhost 9999
...
※ &color(red){トラブルシューティング中};
-参考
--[[同様の処理をPython (PySpark)で書く(structured_network_wordcount_windowed.py)>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?PySpark#x623bccd]]
**デプロイ [#b151a3cc]
リンク先を読むと解るが差は僅か。
***[[Azure HDInsight>Azure HDInsight#g5c4a9f0]] [#y2aa662f]
***[[Azure Databricks>Azure Databricks#td9a437e]] [#afd6d3ae]
**分散環境での入出力 [#bf921206]
***分散環境 [#o8d2ac58]
-基本的には、マネージド・サービスのクラスタを利用する。
-[[分散処理は、Spark SQLにより、隠蔽される。>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Apache%20Spark#ee411713]]
***入出力 [#n48f44d7]
-[[.NET for Apache Sparkのデータ接続]]
**遅延評価で実現されること。 [#z135909e]
***[[自動的な分散>#o8d2ac58]]。 [#t663993c]
***[[ストリーミング>#v2288c2e]]。 [#x0138a72]
ループで書かない。
*参考 [#g102834f]
**msdn.com [#y8581d41]
***Channel 9 > .NET for Apache Spark 101 [#vf8b2398]
「[[.NET for Apache Spark ガイドのチュートリアル部>#zd2d65ee]]」を動画化してある。
-https://channel9.msdn.com/Series/NET-for-Apache-Spark-101
--What is .NET for Apache Spark? [1 of 8]~
https://channel9.msdn.com/Series/NET-for-Apache-Spark-101/What-is-NET-for-Apache-Spark
--Run Your First .NET for Apache Spark App [2 of 8]~
https://channel9.msdn.com/Series/NET-for-Apache-Spark-101/Run-Your-First-NET-for-Apache-Spark-App
--Batch Processing with .NET for Apache Spark [3 of 8]~
https://channel9.msdn.com/Series/NET-for-Apache-Spark-101/Batch-Processing-with-NET-for-Apache-Spark
--Structured Streaming with .NET for Apache Spark [4 of 8]~
https://channel9.msdn.com/Series/NET-for-Apache-Spark-101/Structured-Streaming-with-NET-for-Apache-Spark
--Sentiment Analysis with .NET for Apache Spark and ML.NET
---Part 1 [5 of 8]~
https://channel9.msdn.com/Series/NET-for-Apache-Spark-101/Sentiment-Analysis-with-NET-for-Apache-Spark-and-MLNET-Part-1
---Part 2 [6 of 8]~
https://channel9.msdn.com/Series/NET-for-Apache-Spark-101/Sentiment-Analysis-with-NET-for-Apache-Spark-and-MLNET-Part-2
--Deploy .NET for Apache Spark App to
---[[Azure HDInsight>Azure HDInsight#w086a731]]
---[[Azure Databricks>Azure Databricks#qb9ddd3a]]
-YouTube~
https://www.youtube.com/playlist?list=PLdo4fOcmZ0oXklB5hhg1G1ZwOJTEjcQ5z
**microsoft.com [#x7a1c48d]
***Get started in 10 minutes [#g7fce881]
https://dotnet.microsoft.com/learn/data/spark-tutorial/intro
-Install .NET~
https://dotnet.microsoft.com/learn/data/spark-tutorial/install-dotnet
-Install Prerequisites~
https://dotnet.microsoft.com/learn/data/spark-tutorial/install-pre-reqs
-Install Apache Spark~
https://dotnet.microsoft.com/learn/data/spark-tutorial/install-spark
-Install .NET for Apache Spark~
https://dotnet.microsoft.com/learn/data/spark-tutorial/install-worker
-Create your app~
https://dotnet.microsoft.com/learn/data/spark-tutorial/create
-Install NuGet package~
https://dotnet.microsoft.com/learn/data/spark-tutorial/install-package
-Add data file~
https://dotnet.microsoft.com/learn/data/spark-tutorial/data
-Code your app~
https://dotnet.microsoft.com/learn/data/spark-tutorial/code
-Run your app~
https://dotnet.microsoft.com/learn/data/spark-tutorial/run
***[[Microsoft Docs > .NET for Apache Spark ガイド>.NET for Apache Spark#w086a731]] [#zd2d65ee]
-チュートリアル
--.NET for Apache Spark の概要(作業開始)~
(≒ [[Get started in 10 minutes>#g7fce881]])~
https://docs.microsoft.com/ja-jp/dotnet/spark/tutorials/get-started
--その他のチュートリアル
.NET for Apache Spark~
---...を使用したバッチ処理のチュートリアル~
https://docs.microsoft.com/ja-jp/dotnet/spark/tutorials/batch-processing
---...を使用した構造化ストリーミングのチュートリアル~
https://docs.microsoft.com/ja-jp/dotnet/spark/tutorials/streaming
---...と ML.NET での感情分析のチュートリアル~
https://docs.microsoft.com/ja-jp/dotnet/spark/tutorials/ml-sentiment-analysis
--.NET for Apache Spark アプリケーションをデプロイする~
---[[Azure HDInsight>Azure HDInsight#w086a731]]
---[[Azure Databricks>Azure Databricks#qb9ddd3a]]
-使い方ガイド
--[[データーへの接続>.NET for Apache Sparkのデータ接続#i96a74c2]]
----
Tags: [[:クラウド]], [[:Azure]]
Tags: [[:クラウド]], [[:Azure]], [[:.NET開発]], [[:.NET Core]], [[:.NET Standard]]