.NET for Apache Sparkチュートリアル
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-[[戻る>.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#x77ba95...
-CMDコピペ用
--Apache Spark
---HOMEの指定
setx /M HADOOP_HOME C:\prog\dev\spark\spark-2.4.1-bin-ha...
setx /M SPARK_HOME C:\prog\dev\spark\spark-2.4.1-bin-had...
setx /M PATH "%PATH%;%HADOOP_HOME%;%SPARK_HOME%bin"
※ &color(red){注意};:\binとすると、spark-3.0.1-bin-hadoo...
---動作確認
>spark-submit --version
Welcome to
/ __/__ ___ _____/ /__
_\ \/ _ \/ _ `/ __/ '_/
/___/ .__/\_,_/_/ /_/\_\ version 2.4.1
/_/
Using Scala version 2.11.12, Java HotSpot(TM) 64-Bit Ser...
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.Sp...
---動作確認~
以下のアプリをビルドして動作させる。
-アプリ
--物体~
https://github.com/OpenTouryoProject/SampleProgram/tree/m...
--実行
\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 ...
+------+-----+
| 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 ...
...
--[[SQLの説明>https://dotnetdevelopmentinfrastructure.oss...
***[[バッチ処理>#zd2d65ee]] [#l7b4829d]
-概要
--デモを見た限り、入力はCSVファイルで集計処理を行う。
--集計処理は以下の2つ
---[[メソッド構文のSpark SQL>.NET for Apache Spark#x77ba9...
---[[UDF>.NET for Apache Spark#w1fa929a]]を[[メソッド構文...
-アプリ
--物体~
https://github.com/OpenTouryoProject/SampleProgram/tree/m...
--実行
>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...
+----+--------------------+--------+--------------------...
| 1|https://api.githu...| 1| ruote-kit...
|null| null| null| null...
|null| null| null| null...
| 4|https://api.githu...| 24| basemap...
| 5|https://api.githu...| 28| cocos2d-x...
|null| null| null| null...
| 7|https://api.githu...| 42| cocos2d-x...
|null| null| null| null...
| 9|https://api.githu...| 66| rake-compiler...
|null| null| null| null...
|null| null| null| null...
| 12|https://api.githu...| 70|heroku-buildpack-......
|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| ...
+--------------------+--------------------+-----------+-...
| ruote-kit|RESTful wrapper f...| Ruby| ...
| cocos2d-x|Port of cocos2d-i...| C++| ...
| cocos2d-x|Port of cocos2d-i...| C| ...
| rake-compiler|Provide a standar...| Ruby| ...
| cobertura-plugin|Jenkins cobertura...| Java| ...
| scala-vs-erlang|A performance tes...| Erlang|1...
| opencv|OpenCV GitHub Mirror| C++| ...
| redmine_git_hosting|A ChiliProject/Re...| Ruby| ...
| redmine_git_hosting|A ChiliProject/Re...| Ruby|1...
| OpenCV-iOS|This project is a...|Objective-C| ...
| browserid|A secure, distrib...| JavaScript| ...
| protobuf-cmake|CMake build suppo...| \N| ...
| loso|Chinese segmentat...| Python| ...
| yui3| YUI 3.x Source Tree| JavaScript| ...
| doctag_java|Java library for ...| Java| ...
|willdurand.github...| My new blog!| JavaScript| ...
| manaserv|A flexible 2D MMO...| C++| ...
| manaserv|A flexible 2D MMO...| C++| ...
| libuv|platform layer fo...| C| ...
| cucumber-js|Pure Javascript C...| JavaScript| ...
+--------------------+--------------------+-----------+-...
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] [Configur...
...\spark\Microsoft.Spark.Worker-1.0.0\Microsoft.Spark.W...
+--------------------+--------------------+-----------+-...
| name| descriptor| language| ...
+--------------------+--------------------+-----------+-...
| ruote-kit|RESTful wrapper f...| Ruby| ...
| cocos2d-x|Port of cocos2d-i...| C++| ...
| cocos2d-x|Port of cocos2d-i...| C| ...
| rake-compiler|Provide a standar...| Ruby| ...
| cobertura-plugin|Jenkins cobertura...| Java| ...
| scala-vs-erlang|A performance tes...| Erlang|1...
| opencv|OpenCV GitHub Mirror| C++| ...
| redmine_git_hosting|A ChiliProject/Re...| Ruby| ...
| redmine_git_hosting|A ChiliProject/Re...| Ruby|1...
| OpenCV-iOS|This project is a...|Objective-C| ...
| browserid|A secure, distrib...| JavaScript| ...
| protobuf-cmake|CMake build suppo...| \N| ...
| loso|Chinese segmentat...| Python| ...
| yui3| YUI 3.x Source Tree| JavaScript| ...
| doctag_java|Java library for ...| Java| ...
|willdurand.github...| My new blog!| JavaScript| ...
| manaserv|A flexible 2D MMO...| C++| ...
| manaserv|A flexible 2D MMO...| C++| ...
| libuv|platform layer fo...| C| ...
| cucumber-js|Pure Javascript C...| JavaScript| ...
+--------------------+--------------------+-----------+-...
only showing top 20 rows
...
--[[SQLの説明>https://dotnetdevelopmentinfrastructure.oss...
***[[構造化ストリーミング>#zd2d65ee]] [#v2288c2e]
-概要~
(別名、マイクロ・バッチ)
--デモを見た限り、入力はNetcatからのテキスト行で、変換処...
--[[UDF>.NET for Apache Spark#w1fa929a]]を[[メソッド構文...
--なお、ストリーミング処理では、ループを書くのではなく、S...
---これは、Spark SQL エンジンに基づいた、Structured Strea...
---StreamingQueryのStartでアプリケーションが開始する(読...
---StreamingQueryのAwaitTerminationでアプリケーションが外...
-アプリ
--物体~
https://github.com/OpenTouryoProject/SampleProgram/tree/m...
--実行
---[[ncコマンド>https://dotnetdevelopmentinfrastructure.o...
$ 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.oss...
-参考
--[[Spark Streaming - 開発基盤部会 Wiki > Structured Stre...
--Spark Structured Streaming with Kafka~
https://www.slideshare.net/SotaroKimura/spark-structured-...
***[[ML.NETでの感情分析>#zd2d65ee]] [#bb5afcf2]
&color(red){ココから以降、Microsoft.Sparkのバージョンを2....
-概要
--デモを見た限り、入力はyelptest.csvで、感情分析を行う。
--なお、学習は、yelptrain.csvを使用して行う。
--学習の結果、XXXXML.Modelプロジェクトが生成されるので、...
--ML処理を呼出す[[UDF>.NET for Apache Spark#w1fa929a]]を[...
-学習
--シナリオ タイルは「感情分析」ではなく「テキストの分類」...
--また、「トレーニンする時間」が短いと、~
「トレーニング期間が終了しましたが、トレーニングされたモ...
なるエラーが発生することがある(時間を長くすると解決する...
GPU Service not found. Falling back to CPU AutoML Service.
| Trainer MicroAccuracy...
|1 AveragedPerceptronOva 0.7885...
|2 SdcaMaximumEntropyMulti 0.7966...
|3 LightGbmMulti 0.7442...
|4 SymbolicSgdLogisticRegressionOva 0.7115...
===============================================Experimen...
--------------------------------------------------------...
| Su...
--------------------------------------------------------...
|ML Task: multiclass-classification ...
|Dataset: ...\MLSparkModel\yelptrain.csv ...
|Label : Sentiment ...
|Total experiment time : 27.0050593 Secs ...
|Total number of models explored: 4 ...
--------------------------------------------------------...
| Top 4 mod...
--------------------------------------------------------...
| Trainer MicroAccuracy...
|1 SdcaMaximumEntropyMulti 0.7966...
|2 AveragedPerceptronOva 0.7885...
|3 LightGbmMulti 0.7442...
|4 SymbolicSgdLogisticRegressionOva 0.7115...
--------------------------------------------------------...
Code Generated
-アプリ
--物体~
https://github.com/OpenTouryoProject/SampleProgram/tree/m...
--実行
>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 MLMode...
...
+--------------------+---------+
| 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.DataViewTypeAttri...
--[[SQLの説明>https://dotnetdevelopmentinfrastructure.oss...
***ウィンドウ関数の利用 [#w3d503ab]
-概要~
ウィンドウ関数で、対象レコード以外の~
レコードを参照することができるらしい。
-アプリ~
--物体~
以下を比較。
---https://github.com/dotnet/spark/blob/main/examples/Mic...
---https://github.com/dotnet/spark/blob/main/examples/Mic...
---https://github.com/dotnet/spark/blob/main/examples/Mic...
---https://github.com/dotnet/spark/blob/main/examples/Mic...
--実行~
---[[構造化ストリーミング>#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 ...
+--------+
| 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 ...
...
※ &color(red){トラブルシューティング中};
-参考
--[[同様の処理をPython (PySpark)で書く(structured_networ...
**デプロイ [#b151a3cc]
リンク先を読むと解るが差は僅か。
***[[Azure HDInsight>Azure HDInsight#g5c4a9f0]] [#y2aa662f]
***[[Azure Databricks>Azure Databricks#td9a437e]] [#afd6d...
**分散環境での入出力 [#bf921206]
***分散環境 [#o8d2ac58]
-基本的には、マネージド・サービスのクラスタを利用する。
-[[分散処理は、Spark SQLにより、隠蔽される。>https://dotn...
***入出力 [#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 ガイドのチュートリアル部>#zd2d6...
-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...
--Run Your First .NET for Apache Spark App [2 of 8]~
https://channel9.msdn.com/Series/NET-for-Apache-Spark-101...
--Batch Processing with .NET for Apache Spark [3 of 8]~
https://channel9.msdn.com/Series/NET-for-Apache-Spark-101...
--Structured Streaming with .NET for Apache Spark [4 of 8]~
https://channel9.msdn.com/Series/NET-for-Apache-Spark-101...
--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...
---Part 2 [6 of 8]~
https://channel9.msdn.com/Series/NET-for-Apache-Spark-101...
--Deploy .NET for Apache Spark App to
---[[Azure HDInsight>Azure HDInsight#w086a731]]
---[[Azure Databricks>Azure Databricks#qb9ddd3a]]
-YouTube~
https://www.youtube.com/playlist?list=PLdo4fOcmZ0oXklB5hh...
**microsoft.com [#x7a1c48d]
***Get started in 10 minutes [#g7fce881]
https://dotnet.microsoft.com/learn/data/spark-tutorial/in...
-Install .NET~
https://dotnet.microsoft.com/learn/data/spark-tutorial/in...
-Install Prerequisites~
https://dotnet.microsoft.com/learn/data/spark-tutorial/in...
-Install Apache Spark~
https://dotnet.microsoft.com/learn/data/spark-tutorial/in...
-Install .NET for Apache Spark~
https://dotnet.microsoft.com/learn/data/spark-tutorial/in...
-Create your app~
https://dotnet.microsoft.com/learn/data/spark-tutorial/cr...
-Install NuGet package~
https://dotnet.microsoft.com/learn/data/spark-tutorial/in...
-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 f...
-チュートリアル
--.NET for Apache Spark の概要(作業開始)~
(≒ [[Get started in 10 minutes>#g7fce881]])~
https://docs.microsoft.com/ja-jp/dotnet/spark/tutorials/g...
--その他のチュートリアル
.NET for Apache Spark~
---...を使用したバッチ処理のチュートリアル~
https://docs.microsoft.com/ja-jp/dotnet/spark/tutorials/b...
---...を使用した構造化ストリーミングのチュートリアル~
https://docs.microsoft.com/ja-jp/dotnet/spark/tutorials/s...
---...と ML.NET での感情分析のチュートリアル~
https://docs.microsoft.com/ja-jp/dotnet/spark/tutorials/m...
--.NET for Apache Spark アプリケーションをデプロイする~
---[[Azure HDInsight>Azure HDInsight#w086a731]]
---[[Azure Databricks>Azure Databricks#qb9ddd3a]]
-使い方ガイド
--[[データーへの接続>.NET for Apache Sparkのデータ接続#i9...
----
Tags: [[:クラウド]], [[:Azure]], [[:.NET開発]], [[:.NET C...
終了行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-[[戻る>.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#x77ba95...
-CMDコピペ用
--Apache Spark
---HOMEの指定
setx /M HADOOP_HOME C:\prog\dev\spark\spark-2.4.1-bin-ha...
setx /M SPARK_HOME C:\prog\dev\spark\spark-2.4.1-bin-had...
setx /M PATH "%PATH%;%HADOOP_HOME%;%SPARK_HOME%bin"
※ &color(red){注意};:\binとすると、spark-3.0.1-bin-hadoo...
---動作確認
>spark-submit --version
Welcome to
/ __/__ ___ _____/ /__
_\ \/ _ \/ _ `/ __/ '_/
/___/ .__/\_,_/_/ /_/\_\ version 2.4.1
/_/
Using Scala version 2.11.12, Java HotSpot(TM) 64-Bit Ser...
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.Sp...
---動作確認~
以下のアプリをビルドして動作させる。
-アプリ
--物体~
https://github.com/OpenTouryoProject/SampleProgram/tree/m...
--実行
\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 ...
+------+-----+
| 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 ...
...
--[[SQLの説明>https://dotnetdevelopmentinfrastructure.oss...
***[[バッチ処理>#zd2d65ee]] [#l7b4829d]
-概要
--デモを見た限り、入力はCSVファイルで集計処理を行う。
--集計処理は以下の2つ
---[[メソッド構文のSpark SQL>.NET for Apache Spark#x77ba9...
---[[UDF>.NET for Apache Spark#w1fa929a]]を[[メソッド構文...
-アプリ
--物体~
https://github.com/OpenTouryoProject/SampleProgram/tree/m...
--実行
>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...
+----+--------------------+--------+--------------------...
| 1|https://api.githu...| 1| ruote-kit...
|null| null| null| null...
|null| null| null| null...
| 4|https://api.githu...| 24| basemap...
| 5|https://api.githu...| 28| cocos2d-x...
|null| null| null| null...
| 7|https://api.githu...| 42| cocos2d-x...
|null| null| null| null...
| 9|https://api.githu...| 66| rake-compiler...
|null| null| null| null...
|null| null| null| null...
| 12|https://api.githu...| 70|heroku-buildpack-......
|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| ...
+--------------------+--------------------+-----------+-...
| ruote-kit|RESTful wrapper f...| Ruby| ...
| cocos2d-x|Port of cocos2d-i...| C++| ...
| cocos2d-x|Port of cocos2d-i...| C| ...
| rake-compiler|Provide a standar...| Ruby| ...
| cobertura-plugin|Jenkins cobertura...| Java| ...
| scala-vs-erlang|A performance tes...| Erlang|1...
| opencv|OpenCV GitHub Mirror| C++| ...
| redmine_git_hosting|A ChiliProject/Re...| Ruby| ...
| redmine_git_hosting|A ChiliProject/Re...| Ruby|1...
| OpenCV-iOS|This project is a...|Objective-C| ...
| browserid|A secure, distrib...| JavaScript| ...
| protobuf-cmake|CMake build suppo...| \N| ...
| loso|Chinese segmentat...| Python| ...
| yui3| YUI 3.x Source Tree| JavaScript| ...
| doctag_java|Java library for ...| Java| ...
|willdurand.github...| My new blog!| JavaScript| ...
| manaserv|A flexible 2D MMO...| C++| ...
| manaserv|A flexible 2D MMO...| C++| ...
| libuv|platform layer fo...| C| ...
| cucumber-js|Pure Javascript C...| JavaScript| ...
+--------------------+--------------------+-----------+-...
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] [Configur...
...\spark\Microsoft.Spark.Worker-1.0.0\Microsoft.Spark.W...
+--------------------+--------------------+-----------+-...
| name| descriptor| language| ...
+--------------------+--------------------+-----------+-...
| ruote-kit|RESTful wrapper f...| Ruby| ...
| cocos2d-x|Port of cocos2d-i...| C++| ...
| cocos2d-x|Port of cocos2d-i...| C| ...
| rake-compiler|Provide a standar...| Ruby| ...
| cobertura-plugin|Jenkins cobertura...| Java| ...
| scala-vs-erlang|A performance tes...| Erlang|1...
| opencv|OpenCV GitHub Mirror| C++| ...
| redmine_git_hosting|A ChiliProject/Re...| Ruby| ...
| redmine_git_hosting|A ChiliProject/Re...| Ruby|1...
| OpenCV-iOS|This project is a...|Objective-C| ...
| browserid|A secure, distrib...| JavaScript| ...
| protobuf-cmake|CMake build suppo...| \N| ...
| loso|Chinese segmentat...| Python| ...
| yui3| YUI 3.x Source Tree| JavaScript| ...
| doctag_java|Java library for ...| Java| ...
|willdurand.github...| My new blog!| JavaScript| ...
| manaserv|A flexible 2D MMO...| C++| ...
| manaserv|A flexible 2D MMO...| C++| ...
| libuv|platform layer fo...| C| ...
| cucumber-js|Pure Javascript C...| JavaScript| ...
+--------------------+--------------------+-----------+-...
only showing top 20 rows
...
--[[SQLの説明>https://dotnetdevelopmentinfrastructure.oss...
***[[構造化ストリーミング>#zd2d65ee]] [#v2288c2e]
-概要~
(別名、マイクロ・バッチ)
--デモを見た限り、入力はNetcatからのテキスト行で、変換処...
--[[UDF>.NET for Apache Spark#w1fa929a]]を[[メソッド構文...
--なお、ストリーミング処理では、ループを書くのではなく、S...
---これは、Spark SQL エンジンに基づいた、Structured Strea...
---StreamingQueryのStartでアプリケーションが開始する(読...
---StreamingQueryのAwaitTerminationでアプリケーションが外...
-アプリ
--物体~
https://github.com/OpenTouryoProject/SampleProgram/tree/m...
--実行
---[[ncコマンド>https://dotnetdevelopmentinfrastructure.o...
$ 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.oss...
-参考
--[[Spark Streaming - 開発基盤部会 Wiki > Structured Stre...
--Spark Structured Streaming with Kafka~
https://www.slideshare.net/SotaroKimura/spark-structured-...
***[[ML.NETでの感情分析>#zd2d65ee]] [#bb5afcf2]
&color(red){ココから以降、Microsoft.Sparkのバージョンを2....
-概要
--デモを見た限り、入力はyelptest.csvで、感情分析を行う。
--なお、学習は、yelptrain.csvを使用して行う。
--学習の結果、XXXXML.Modelプロジェクトが生成されるので、...
--ML処理を呼出す[[UDF>.NET for Apache Spark#w1fa929a]]を[...
-学習
--シナリオ タイルは「感情分析」ではなく「テキストの分類」...
--また、「トレーニンする時間」が短いと、~
「トレーニング期間が終了しましたが、トレーニングされたモ...
なるエラーが発生することがある(時間を長くすると解決する...
GPU Service not found. Falling back to CPU AutoML Service.
| Trainer MicroAccuracy...
|1 AveragedPerceptronOva 0.7885...
|2 SdcaMaximumEntropyMulti 0.7966...
|3 LightGbmMulti 0.7442...
|4 SymbolicSgdLogisticRegressionOva 0.7115...
===============================================Experimen...
--------------------------------------------------------...
| Su...
--------------------------------------------------------...
|ML Task: multiclass-classification ...
|Dataset: ...\MLSparkModel\yelptrain.csv ...
|Label : Sentiment ...
|Total experiment time : 27.0050593 Secs ...
|Total number of models explored: 4 ...
--------------------------------------------------------...
| Top 4 mod...
--------------------------------------------------------...
| Trainer MicroAccuracy...
|1 SdcaMaximumEntropyMulti 0.7966...
|2 AveragedPerceptronOva 0.7885...
|3 LightGbmMulti 0.7442...
|4 SymbolicSgdLogisticRegressionOva 0.7115...
--------------------------------------------------------...
Code Generated
-アプリ
--物体~
https://github.com/OpenTouryoProject/SampleProgram/tree/m...
--実行
>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 MLMode...
...
+--------------------+---------+
| 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.DataViewTypeAttri...
--[[SQLの説明>https://dotnetdevelopmentinfrastructure.oss...
***ウィンドウ関数の利用 [#w3d503ab]
-概要~
ウィンドウ関数で、対象レコード以外の~
レコードを参照することができるらしい。
-アプリ~
--物体~
以下を比較。
---https://github.com/dotnet/spark/blob/main/examples/Mic...
---https://github.com/dotnet/spark/blob/main/examples/Mic...
---https://github.com/dotnet/spark/blob/main/examples/Mic...
---https://github.com/dotnet/spark/blob/main/examples/Mic...
--実行~
---[[構造化ストリーミング>#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 ...
+--------+
| 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 ...
...
※ &color(red){トラブルシューティング中};
-参考
--[[同様の処理をPython (PySpark)で書く(structured_networ...
**デプロイ [#b151a3cc]
リンク先を読むと解るが差は僅か。
***[[Azure HDInsight>Azure HDInsight#g5c4a9f0]] [#y2aa662f]
***[[Azure Databricks>Azure Databricks#td9a437e]] [#afd6d...
**分散環境での入出力 [#bf921206]
***分散環境 [#o8d2ac58]
-基本的には、マネージド・サービスのクラスタを利用する。
-[[分散処理は、Spark SQLにより、隠蔽される。>https://dotn...
***入出力 [#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 ガイドのチュートリアル部>#zd2d6...
-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...
--Run Your First .NET for Apache Spark App [2 of 8]~
https://channel9.msdn.com/Series/NET-for-Apache-Spark-101...
--Batch Processing with .NET for Apache Spark [3 of 8]~
https://channel9.msdn.com/Series/NET-for-Apache-Spark-101...
--Structured Streaming with .NET for Apache Spark [4 of 8]~
https://channel9.msdn.com/Series/NET-for-Apache-Spark-101...
--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...
---Part 2 [6 of 8]~
https://channel9.msdn.com/Series/NET-for-Apache-Spark-101...
--Deploy .NET for Apache Spark App to
---[[Azure HDInsight>Azure HDInsight#w086a731]]
---[[Azure Databricks>Azure Databricks#qb9ddd3a]]
-YouTube~
https://www.youtube.com/playlist?list=PLdo4fOcmZ0oXklB5hh...
**microsoft.com [#x7a1c48d]
***Get started in 10 minutes [#g7fce881]
https://dotnet.microsoft.com/learn/data/spark-tutorial/in...
-Install .NET~
https://dotnet.microsoft.com/learn/data/spark-tutorial/in...
-Install Prerequisites~
https://dotnet.microsoft.com/learn/data/spark-tutorial/in...
-Install Apache Spark~
https://dotnet.microsoft.com/learn/data/spark-tutorial/in...
-Install .NET for Apache Spark~
https://dotnet.microsoft.com/learn/data/spark-tutorial/in...
-Create your app~
https://dotnet.microsoft.com/learn/data/spark-tutorial/cr...
-Install NuGet package~
https://dotnet.microsoft.com/learn/data/spark-tutorial/in...
-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 f...
-チュートリアル
--.NET for Apache Spark の概要(作業開始)~
(≒ [[Get started in 10 minutes>#g7fce881]])~
https://docs.microsoft.com/ja-jp/dotnet/spark/tutorials/g...
--その他のチュートリアル
.NET for Apache Spark~
---...を使用したバッチ処理のチュートリアル~
https://docs.microsoft.com/ja-jp/dotnet/spark/tutorials/b...
---...を使用した構造化ストリーミングのチュートリアル~
https://docs.microsoft.com/ja-jp/dotnet/spark/tutorials/s...
---...と ML.NET での感情分析のチュートリアル~
https://docs.microsoft.com/ja-jp/dotnet/spark/tutorials/m...
--.NET for Apache Spark アプリケーションをデプロイする~
---[[Azure HDInsight>Azure HDInsight#w086a731]]
---[[Azure Databricks>Azure Databricks#qb9ddd3a]]
-使い方ガイド
--[[データーへの接続>.NET for Apache Sparkのデータ接続#i9...
----
Tags: [[:クラウド]], [[:Azure]], [[:.NET開発]], [[:.NET C...
ページ名: