Skip to content

hash(*cols)

Описание

Функция hash() вычисляет хеш-код для одного или нескольких столбцов.

Параметры

  • *cols: Column - один или несколько столбцов для хеширования

Возвращаемое значение

Integer - хеш-код

Пример использования

from pyspark.sql.functions import hash
from pyspark.sql import SparkSession

# Создаем SparkSession
spark = SparkSession.builder.appName("hash_example").getOrCreate()

# Создаем DataFrame с данными
data = [("Hello", 1), ("World", 2), ("Spark", 3)]
df = spark.createDataFrame(data, ["text", "number"])

# Вычисляем хеш для одного столбца
result1 = df.select(
    "text",
    hash("text").alias("text_hash")
).show()

# Вычисляем хеш для нескольких столбцов
result2 = df.select(
    "text",
    "number",
    hash("text", "number").alias("combined_hash")
).show()

# Результат:
# +-----+----------+
# |text |text_hash |
# +-----+----------+
# |Hello| 69609650 |
# |World|-113826095|
# |Spark|  -996379 |
# +-----+----------+

# +-----+------+-------------+
# |text |number|combined_hash|
# +-----+------+-------------+
# |Hello|     1|   -202693686|
# |World|     2|    207440750|
# |Spark|     3|   -151844687|
# +-----+------+-------------+

Примечания

  • NULL значения возвращают NULL
  • Порядок столбцов влияет на результат хеширования
  • Для других алгоритмов хеширования используйте:
  • sha() для SHA-1
  • sha2() для SHA-2
  • md5() для MD5
  • crc32() для CRC32
  • xxhash64() для xxHash64