PySpark — это API Python для Apache Spark, тогда как Apache Spark — это механизм аналитической обработки для крупномасштабных сложных распределенных приложений обработки данных и машинного обучения.

Если вы являетесь разработчиком PySpark, специалистом по данным или аналитиком данных, вам часто потребуется загружать данные из иерархического каталога данных. Эти вложенные каталоги данных обычно создаются, когда процедура ETL продолжает размещать данные за разные даты в нескольких папках. Вы хотите загрузить эти CSV-файлы в искровой фрейм данных для дальнейшего анализа. В этом эссе я расскажу о загрузке данных из вложенных каталогов.

Шаг 1: Импортируйте все необходимые библиотеки в наш код, как указано ниже —

  • SparkContext — это входные ворота функциональности Apache Spark, и наиболее важным шагом любого приложения драйвера Spark является создание SparkContext, который представляет собой подключение к кластеру Spark и может использоваться для создания RDD, накопителей и широковещательной рассылки. переменные в этом кластере.
  • SparkSession — это точка входа в базовую функциональность PySpark для программного создания PySpark RDD, DataFrame.
  • SQLContext можно использовать для создания DataFrame , регистрации DataFrame как таблиц, выполнения SQL над таблицами, кэширования таблиц и чтения файлов паркета, тогда как SparkContext поддерживает этот SQLContext. SparkSession, вокруг которого обертывается этот SQLContext.
  • SparkConf предлагает конфигурации для запуска приложения Spark на локальном компьютере или в кластере, поддерживая несколько конфигураций и параметров.
#import all the libraries of pyspark.sql
from pyspark.sql import*#import SparkContext and SparkConf
from pyspark import SparkContext, SparkConf

Шаг 2. Настройте приложение spark, запустите кластер spark и инициализируйте SQLContext для фреймов данных.

#setup configuration property 
#set the master URL 
#set an application name 
conf = SparkConf().setMaster("local").setAppName("sparkproject")#start spark cluster 
#if already started then get it else start it 
sc = SparkContext.getOrCreate(conf=conf)#initialize SQLContext from spark cluster 
sqlContext = SQLContext(sc)

Метод 1: объявите переменные для списка путей к файлам, и вы можете использовать подстановочный знак * для каждого уровня вложенности, как…