На основе https://github.com/gotthardsen/docker-hadoop-spark-workbench/tree/master/swarm У меня есть настройка Docker Swarm с настройками Hadoop, Spark, Hue и Jupyter для ноутбука.
Используя Hue, я загрузил файл в hdfs, и у меня нет проблем с загрузкой или просмотром файла из hue или в hdfs в namenode. Отсутствуют пропущенные блоки и проверка файлов говорит, что все в порядке.
Но когда я пытаюсь получить к нему доступ, используя pyspark в jupyter, я получаю:
org.apache.hadoop.hdfs.BlockMissingException: Не удалось получить блок:
BP-296583215-10.0.0.6-1542473394293: blk_1073741833_1009
Файл = / 20170930.csv
Я знаю, что дело не в пропущенном блоке, а скорее в чем-то другом. Но я не могу понять, почему. Код Python кода из рабочей книги с использованием ядра Python2:
from pyspark import SparkConf, SparkContext
conf = SparkConf().setAppName('hello').setMaster('spark://spark-master:7077')
sc = SparkContext(conf=conf)
from pyspark.sql import SparkSession
# Read from HDFS
sparkSession = SparkSession(sc)
df_load = sparkSession.read.csv('hdfs://namenode:9000/20170930.csv')
df_load.show()
Проблема возникает по адресу:
df_load = sparkSession.read.csv('hdfs://namenode:9000/20170930.csv')
Я не вижу ничего в разных журналах, что дает мне подсказку. Есть только информационные строки
Кто-нибудь, кто может дать подсказку, что искать?