Предварительные требования
Совместимость версий
- Версии Hadoop: 2.x, 3.x (только с библиотеками Hadoop 3.x)
- Версии Spark: 2.3.x - 3.5.x
- Версии Java: 8 - 20
Установка PySpark
Чтобы использовать коннектор SparkHDFS, у вас должен быть установлен PySpark (или добавлен в sys.path) ДО создания экземпляра коннектора.
См. инструкцию по установке для получения более подробной информации.
Использование Kerberos
Некоторые управляемые кластеры Hadoop используют аутентификацию Kerberos. В этом случае вам следует вызвать команду kinit ДО запуска сессии Spark для генерации тикета Kerberos. См. инструкции по установке Kerberos.
Иногда также требуется передать файл keytab в конфигурацию Spark, позволяя исполнителям Spark генерировать собственные тикеты Kerberos:
SparkSession.builder
.option("spark.kerberos.access.hadoopFileSystems", "hdfs://namenode1.domain.com:9820,hdfs://namenode2.domain.com:9820")
.option("spark.kerberos.principal", "user")
.option("spark.kerberos.keytab", "/path/to/keytab")
.gerOrCreate()
SparkSession.builder
.option("spark.yarn.access.hadoopFileSystems", "hdfs://namenode1.domain.com:9820,hdfs://namenode2.domain.com:9820")
.option("spark.yarn.principal", "user")
.option("spark.yarn.keytab", "/path/to/keytab")
.gerOrCreate()
См. документацию по безопасности Spark для получения более подробной информации.