ошибка при использовании метода collect_list в scala [duplicate]

Когда вы конвертируете .1 или 1/10 в base 2 (двоичный), вы получаете повторяющийся шаблон после десятичной точки, точно так же, как пытаетесь представить 1/3 в базе 10. Значение не является точным, и поэтому вы можете 't делать точную математику с ней, используя обычные методы с плавающей запятой.

14
задан Joost Farla 20 February 2016 в 22:01
поделиться

1 ответ

Spark 2.0 +:

SPARK-10605 введена реализация нативного collect_list и collect_set. SparkSession с поддержкой Hive или HiveContext больше не требуются.

Spark 2.0-SNAPSHOT (до 2016-05-03) :

Вы должны включить поддержку Hive для данного SparkSession:

В Scala:

val spark = SparkSession.builder
  .master("local")
  .appName("testing")
  .enableHiveSupport()  // <- enable Hive support.
  .getOrCreate()

В Python:

spark = (SparkSession.builder
    .enableHiveSupport()
    .getOrCreate())

Spark & ​​lt; 2.0:

Чтобы использовать UDF для Hive (см. https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF ), вы используете Spark built с поддержкой Hive (это уже рассматривается, когда вы используете предварительно созданные двоичные файлы, что, как представляется, здесь) и инициализировать SparkContext с помощью HiveContext.

В Scala:

import org.apache.spark.sql.hive.HiveContext
import org.apache.spark.sql.SQLContext

val sqlContext: SQLContext = new HiveContext(sc) 

В Python:

from pyspark.sql import HiveContext

sqlContext = HiveContext(sc)
31
ответ дан Thomas Decaux 24 August 2018 в 04:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: