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-1sha2()
для SHA-2md5()
для MD5crc32()
для CRC32xxhash64()
для xxHash64