카테고리 없음
여러 개의 텍스트 파일을 단일 RDD로 읽는 방법은 무엇인가요?
스택큐힙리스트
2023. 11. 28. 06:57
반응형
나는 hdfs 위치에서 여러 개의 텍스트 파일을 읽고 spark를 사용하여 반복적으로 매핑하고 싶습니다.
JavaRDD<String> records = ctx.textFile(args[1], 1);
은 한 번에 하나의 파일만 읽을 수 있습니다.
나는 두 개 이상의 파일을 읽고 하나의 RDD로 처리하려고 합니다. 어떻게 해야 할까요?
답변 1
전체 디렉토리를 지정하거나, 와일드카드를 사용하거나, 디렉토리와 와일드카드의 CSV를 사용할 수 있습니다. 예를 들면:
sc.textFile(/내/디렉토리1,/내/경로/파트-00[0-5]*,/다른/디렉토리,/특정/파일)
Nick Chammas가 가리키는 바에 따르면 이것은 Hadoop의 FileInputFormat
의 노출이므로 Hadoop (및 Scalding)에서도 작동합니다.
답변 2
여러 개의 텍스트 파일을 단일 RDD로 읽는 방법에 대해 알아보겠습니다. Spark는 대규모 데이터 처리를 위한 오픈 소스 클러스터 컴퓨팅 프레임워크입니다. 이를 사용하여 여러 개의 텍스트 파일을 단일 RDD로 빠르게 읽을 수 있습니다.먼저, Spark를 설치하고 환경을 설정해야 합니다. Spark를 다운로드하고 설치한 후, SparkSession을 생성하여 Spark를 초기화합니다.
'''
from pyspark.sql import SparkSession
# SparkSession 생성
spark = SparkSession.builder \
.appName(File_Read) \
.getOrCreate()
'''
SparkSession이 준비되었으면, Spark의 FileReader를 사용하여 여러 개의 텍스트 파일을 RDD로 읽을 수 있습니다. spark.read.text() 함수를 사용하여 파일을 읽은 후, RDD로 변환합니다.
'''
# 여러 개의 텍스트 파일을 읽기
rdd = spark.read.text('파일1.txt, 파일2.txt, 파일3.txt')
# RDD로 변환
text_rdd = rdd.rdd
'''
이렇게 하면 여러 개의 텍스트 파일이 단일 RDD로 읽혀집니다. Spark는 파일을 자동으로 로드하고 RDD를 생성해주므로, 간단한 코드 몇 줄만으로도 여러 개의 텍스트 파일을 처리할 수 있습니다.
Spark를 사용하여 다수의 텍스트 파일을 읽는 방법에 대해 설명했습니다. 이를 통해 효율적인 데이터 처리를 할 수 있으며, 대용량의 데이터도 간편하게 처리할 수 있습니다. Spark를 활용하여 빅 데이터를 다룰 때 이 방법을 활용해 보세요.
반응형