Возможно, отсутствует библиотека в Магеллане

Я начал использовать AWS EMR для обработки данных в Spark v 2.2.0 и Scala версии 2.11.8. В качестве первого шага я импортировал библиотеки как

 import org.apache.spark.sql.magellan.dsl.expressions._
 import org.apache.spark.sql.types._
 import sqlContext.implicits._
 import magellan.{Point, Polygon, PolyLine}

и пытается повторить этот пример отсюда https://github.com/harsha2010/magellan/blob/master/src/test/scala/magellan/PolygonSuite.scala, поэтому, когда я запускаю этот

  val ring = Array(Point(1.0, 1.0), Point(1.0, -1.0),
  Point(-1.0, -1.0), Point(-1.0, 1.0), Point(1.0, 1.0))
  val polygon = Polygon(Array(0), ring)

Я получаю эту ошибку:

 scala>     val polygon = Polygon(Array(0), ring)
 <console>:60: error: not found: value Polygon
       val polygon = Polygon(Array(0), ring)

Более того,

Когда я использую этот пример отсюда: https://github.com/harsha2010/magellan/wiki/Scala-API

как:

case class PolygonRecord(polygon: magellan.Polygon)

val square = Array(
 Point(1.0, 1.0),
 Point(1.0, -1.0),
 Point(-1.0, -1.0),
 Point(-1.0, 1.0),
 Point(1.0, 1.0))

val rect = Array(
 Point(0.0, 0.0),
 Point(2.0, 0.0),
 Point(2.0, 1.0),
 Point(0.0, 1.0),
 Point(0.0, 0.0))

val polygons = sc.parallelize(Seq(
 PolygonRecord(Polygon(Array(0), square)),
 PolygonRecord(Polygon(Array(0), rect))
)).toDF()

Эта ошибка выскакивает:

 scala> val polygons = sc.parallelize(Seq(
  |   PolygonRecord(Polygon(Array(0), square)),
  |   PolygonRecord(Polygon(Array(0), rect))
  | )).toDF()
  <console>:65: error: not found: value Polygon
     PolygonRecord(Polygon(Array(0), square)),
                   ^
 <console>:66: error: not found: value Polygon
      PolygonRecord(Polygon(Array(0), rect))

Я предполагаю, что пропустил библиотеку, но не уверен, какая именно.

0 ответов

Другие вопросы по тегам