This is an automated email from the ASF dual-hosted git repository.
git-site-role pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/groovy-dev-site.git
The following commit(s) were added to refs/heads/asf-site by this push:
new cfc3509 2025/02/21 01:04:28: Generated dev website from
groovy-website@6d16358
cfc3509 is described below
commit cfc3509c2b0e29988128537dc7dbc1e6c836241c
Author: jenkins <[email protected]>
AuthorDate: Fri Feb 21 01:04:28 2025 +0000
2025/02/21 01:04:28: Generated dev website from groovy-website@6d16358
---
.well-known/atproto-did | 1 -
blog/using-groovy-with-apache-wayang.html | 29 ++++++++++++++++++++++++++---
2 files changed, 26 insertions(+), 4 deletions(-)
diff --git a/.well-known/atproto-did b/.well-known/atproto-did
deleted file mode 100644
index 4459641..0000000
--- a/.well-known/atproto-did
+++ /dev/null
@@ -1 +0,0 @@
-did:plc:4jhgdky33nc43wzzkhr2qiyu
diff --git a/blog/using-groovy-with-apache-wayang.html
b/blog/using-groovy-with-apache-wayang.html
index 2220989..ec727bc 100644
--- a/blog/using-groovy-with-apache-wayang.html
+++ b/blog/using-groovy-with-apache-wayang.html
@@ -53,7 +53,7 @@
</ul>
</div>
</div>
- </div><div id='content' class='page-1'><div
class='row'><div class='row-fluid'><div class='col-lg-3'><ul
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a
href='#doc'>Using Groovy with Apache Wayang and Apache Spark</a></li><li><a
href='#_whiskey_clustering' class='anchor-link'>Whiskey
Clustering</a></li><li><a href='#_implementation_details'
class='anchor-link'>Implementation Details</a></li><li><a
href='#_running_with_the_java_streams [...]
+ </div><div id='content' class='page-1'><div
class='row'><div class='row-fluid'><div class='col-lg-3'><ul
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a
href='#doc'>Using Groovy with Apache Wayang and Apache Spark</a></li><li><a
href='#_whiskey_clustering' class='anchor-link'>Whiskey
Clustering</a></li><li><a href='#_implementing_a_distributed_kmeans'
class='anchor-link'>Implementing a distributed KMeans</a></li><li><a
href='#_running [...]
<a href="https://github.com/paulk-asert/" target="_blank" rel="noopener
noreferrer"><img style="border-radius:50%;height:48px;width:auto"
src="img/paulk-asert.png" alt="Paul King"></a>
<div style="display:grid;align-items:center;margin:0.1ex;padding:0ex">
<div><a href="https://github.com/paulk-asert/" target="_blank" rel="noopener
noreferrer"><span>Paul King</span></a></div>
@@ -61,6 +61,16 @@
</div>
</div><br/><span>Published: 2022-06-19 01:01PM (Last updated:
2025-02-20 02:10PM)</span></p><hr/><div id="preamble">
<div class="sectionbody">
+<div class="quoteblock">
+<blockquote>
+<div class="paragraph">
+<p>In the quest to find the perfect single-malt Scotch whisky,
+let’s use Apache Wayang’s cross-platform data processing and
+cross-platform machine learning capabilities to cluster
+related whiskies by their flavour profile.</p>
+</div>
+</blockquote>
+</div>
<div class="paragraph">
<p><span class="image right"><img
src="https://www.apache.org/logos/res/wayang/default.png" alt="wayang logo"
width="100"></span>
<a href="https://wayang.apache.org/">Apache Wayang</a> (incubating) is an API
@@ -88,7 +98,7 @@ The whiskies produced from
<a href="https://www.niss.org/sites/default/files/ScotchWhisky01.txt">86
distilleries</a>
have been ranked by expert tasters according to 12 criteria
(Body, Sweetness, Malty, Smoky, Fruity, etc.).
-We’ll use a KMeans algorithm to calculate the centroids.
+We’ll use a <a
href="https://en.wikipedia.org/wiki/K-means_clustering">KMeans</a> algorithm to
calculate the centroids.
This is similar to the
<a
href="https://github.com/apache/incubator-wayang/blob/main/README.md#k-means">KMeans
example in the Wayang documentation</a>
but instead of 2 dimensions (x and y coordinates), we have 12
@@ -114,9 +124,22 @@ in that cluster.</p>
</div>
</div>
<div class="sect1">
-<h2 id="_implementation_details">Implementation Details</h2>
+<h2 id="_implementing_a_distributed_kmeans">Implementing a distributed
KMeans</h2>
<div class="sectionbody">
<div class="paragraph">
+<p>We’ll start by using Wayang’s data processing capabilities
+to write our own distributed KMeans algorithm.
+We’ll circle back to look at the new built-in KMeans
+that is part of Wayang’s ML4all module.</p>
+</div>
+<div class="paragraph">
+<p>To build a distributed KMeans algorithm, we’ll need to
+pass around some information between the processing nodes
+on whatever data processing platform (e.g. Apache Spark)
+that we’ll eventually use to run our application.
+So, we first define those data structures.</p>
+</div>
+<div class="paragraph">
<p>We’ll start with defining a Point record:</p>
</div>
<div class="listingblock">