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: объявите переменные для списка путей к файлам, и вы можете использовать подстановочный знак *
для каждого уровня вложенности, как…