Sorry, looks like an extra line got inserted in there.  One more try:

val count = spark.parallelize(1 to NUM_SAMPLES).map { _ =>
  val x = Math.random()
  val y = Math.random()
  if (x*x + y*y < 1) 1 else 0
}.reduce(_ + _)



On Fri, May 16, 2014 at 12:36 PM, Mark Hamstra <m...@clearstorydata.com>wrote:

> Actually, the better way to write the multi-line closure would be:
>
> val count = spark.parallelize(1 to NUM_SAMPLES).map { _ =>
>
>   val x = Math.random()
>   val y = Math.random()
>   if (x*x + y*y < 1) 1 else 0
> }.reduce(_ + _)
>
>
> On Fri, May 16, 2014 at 9:41 AM, GlennStrycker 
> <glenn.stryc...@gmail.com>wrote:
>
>> On the webpage http://spark.apache.org/examples.html, there is an example
>> written as
>>
>> val count = spark.parallelize(1 to NUM_SAMPLES).map(i =>
>>   val x = Math.random()
>>   val y = Math.random()
>>   if (x*x + y*y < 1) 1 else 0
>> ).reduce(_ + _)
>> println("Pi is roughly " + 4.0 * count / NUM_SAMPLES)
>>
>> This does not execute in Spark, which gives me an error:
>> <console>:2: error: illegal start of simple expression
>>          val x = Math.random()
>>          ^
>>
>> If I rewrite the query slightly, adding in {}, it works:
>>
>> val count = spark.parallelize(1 to 10000).map(i =>
>>    {
>>    val x = Math.random()
>>    val y = Math.random()
>>    if (x*x + y*y < 1) 1 else 0
>>    }
>> ).reduce(_ + _)
>> println("Pi is roughly " + 4.0 * count / 10000.0)
>>
>>
>>
>>
>>
>> --
>> View this message in context:
>> http://apache-spark-developers-list.1001551.n3.nabble.com/Scala-examples-for-Spark-do-not-work-as-written-in-documentation-tp6593.html
>> Sent from the Apache Spark Developers List mailing list archive at
>> Nabble.com.
>>
>
>

Reply via email to