[ 
https://issues.apache.org/jira/browse/BEAM-10983?focusedWorklogId=523974&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-523974
 ]

ASF GitHub Bot logged work on BEAM-10983:
-----------------------------------------

                Author: ASF GitHub Bot
            Created on: 14/Dec/20 16:27
            Start Date: 14/Dec/20 16:27
    Worklog Time Spent: 10m 
      Work Description: davidcavazos commented on a change in pull request 
#12963:
URL: https://github.com/apache/beam/pull/12963#discussion_r542520456



##########
File path: website/www/site/content/en/get-started/from-spark.md
##########
@@ -0,0 +1,268 @@
+---
+title: "Getting started from Apache Spark"
+---
+<!--
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+# Getting started from Apache Spark
+
+{{< localstorage language language-py >}}
+
+If you already know [_Apache Spark_](http://spark.apache.org/),
+learning _Apache Beam_ is familiar.
+The Beam and Spark APIs are similar, so you already know the basic concepts.
+
+Spark stores data _Spark DataFrames_ for structured data,
+and in _Resilient Distributed Datasets_ (RDD) for unstructured data.
+We are using RDDs for this guide.
+
+A Spark RDD represents a collection of elements,
+while in Beam it's called a _Parallel Collection_ (PCollection).
+A PCollection in Beam does _not_ have any ordering guarantees.
+
+Likewise, a transform in Beam is called a _Parallel Transform_ (PTransform).
+
+Here are some examples of common operations and their equivalent between 
PySpark and Beam.
+
+## Overview
+
+Here's a simple example of a PySpark pipeline that takes the numbers from one 
to four,
+multiplies them by two, adds all the values together, and prints the result.
+
+{{< highlight py >}}
+import pyspark
+
+sc = pyspark.SparkContext()
+result = (
+    sc.parallelize([1, 2, 3, 4])
+    .map(lambda x: x * 2)
+    .reduce(lambda x, y: x + y)
+)
+print(result)
+{{< /highlight >}}
+
+In Beam you _pipe_ your data through the pipeline using the
+_pipe operator_ `|` like `data | beam.Map(...)` instead of chaining
+methods like `data.map(...)`, but they're doing the same thing.
+
+Here's what an equivalent pipeline looks like in Beam.
+
+{{< highlight py >}}
+import apache_beam as beam
+
+with beam.Pipeline() as pipeline:
+    result = (
+        pipeline
+        | beam.Create([1, 2, 3, 4])
+        | beam.Map(lambda x: x * 2)
+        | beam.CombineGlobally(sum)
+        | beam.Map(print)
+    )
+{{< /highlight >}}
+
+> ℹ️ Note that we called `print` inside a `Map` transform.
+> That's because we can only access the elements of a PCollection
+> from within a PTransform.
+
+Another thing to note is that Beam pipelines are constructed _lazily_.
+This means that when you pipe `|` data you're only _decalring_ the

Review comment:
       Thanks, fixed




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Issue Time Tracking
-------------------

    Worklog Id:     (was: 523974)
    Time Spent: 4.5h  (was: 4h 20m)

> Have a getting started for Spark users
> --------------------------------------
>
>                 Key: BEAM-10983
>                 URL: https://issues.apache.org/jira/browse/BEAM-10983
>             Project: Beam
>          Issue Type: New Feature
>          Components: website
>            Reporter: David Cavazos
>            Assignee: David Cavazos
>            Priority: P2
>          Time Spent: 4.5h
>  Remaining Estimate: 0h
>
> Have a friendlier getting started experience for users who already know Spark.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to