map.insert (ключ, элемент); что ключ находится на карте, но не перезаписывает существующее значение.
map.operator [key] = item; что ключ находится на карте и перезаписывает любое существующее значение с помощью элемента.
Обе эти операции достаточно важны, чтобы гарантировать одну строку кода. Дизайнеры, вероятно, выбрали, какая операция была более интуитивной для оператора [] и создала вызов функции для другого.
spark.sparkContext.textFile()
вернет rdd и не выведет схему, даже если вы делаете .toDF()
поверх этого rdd.
sc.textFile()
предназначен для чтения неструктурированных текстовых файлов. Вы должны использовать
spark.read.format("csv").option("header",true").option("inferSchema","true").load("..path.to.csv")
, чтобы получить схему из заголовков.
Лучше cat
файлы вместе, создать заново CSV и прочитать их в HDFS
cat header.csv home_data_usage_2018122723_1372672.csv >> new_home_data_usage.csv
, а затем
hadoop fs -copyFromLocal new_home_data_usage.csv <hdfs_path>
и затем использовать
spark.read.format("csv").option("header",true").option("inferSchema","true").load("..path.to.csv")