Возможно, отсутствует библиотека в Магеллане
Я начал использовать 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))
Я предполагаю, что пропустил библиотеку, но не уверен, какая именно.