Я пытаюсь добавить столбец в фрейм данных, который будет содержать хэш другого столбца .
Я нашел этот фрагмент документации: https://spark.apache.org/docs/2.3.0/api/sql/index.html#hash
И попробовал это:
import org.apache.spark.sql.functions._
val df = spark.read.parquet(...)
val withHashedColumn = df.withColumn("hashed", hash($"my_column"))
Но что за хеш-функция используется этим hash()
?Это murmur
, sha
, md5
, что-то еще?
Значение, которое я получаю в этом столбце, является целым числом, поэтому диапазон значений здесь, вероятно, [-2^(31) ... +2^(31-1)]
.
Могу ли я получить длинное значение здесь?Могу ли я получить строковый хеш вместо этого?
Как мне указать конкретный алгоритм хеширования для этого?
Можно ли использовать пользовательскую хеш-функцию?