반응형
Notice
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
Tags
- 컴퓨터과학
- 프로그래밍
- 데이터분석
- 데이터과학
- 웹개발
- 파이썬
- 보안
- 머신러닝
- springboot
- 자바스크립트
- 데이터베이스
- 디자인패턴
- 컴퓨터공학
- 인공지능
- 프로그래밍언어
- 알고리즘
- 사이버보안
- 버전관리
- I'm Sorry
- 자료구조
- 소프트웨어
- 클라우드컴퓨팅
- 데이터구조
- 딥러닝
- 컴퓨터비전
- 빅데이터
- Yes
- 네트워크
- 네트워크보안
- 소프트웨어공학
Archives
- Today
- Total
스택큐힙리스트
Spark에서 출력 디렉토리를 덮어쓰는 방법 본문
반응형
매 분마다 데이터셋을 생성하는 스파크 스트리밍 애플리케이션이 있습니다.
처리된 데이터의 결과를 저장하거나 덮어쓰기를 해야합니다.
데이터셋을 덮어쓰려고 할 때 org.apache.hadoop.mapred.FileAlreadyExistsException이 실행을 중단합니다.
Spark 속성 set(spark.files.overwrite,true)을 설정했지만 행운이 따르지 않습니다.
Spark에서 파일을 덮어쓰거나 사전 삭제하는 방법은 무엇인가요?
답변 1
UPDATE: Dataframes와 함께 ... .write.mode(SaveMode.Overwrite) ...를 사용하는 것을 제안합니다.
Handy pimp:
implicit class PimpedStringRDD(rdd: RDD[String]) {
def write(p: String)(implicit ss: SparkSession): Unit = {
import ss.implicits._
rdd.toDF().as[String].write.mode(SaveMode.Overwrite).text(p)
}
}
이전 버전용으로 시도해보세요
yourSparkConf.set(spark.hadoop.validateOutputSpecs, false)
val sc = SparkContext(yourSparkConf)
1.1.0에서는 스파크-서브밋 스크립트에서 --conf 플래그를 사용하여 conf 설정을 설정할 수 있습니다.
경고 (이전 버전): @piggybox에 따르면, Spark에는 필요한 part- 파일만 덮어쓰고 다른 파일은 보존되는 버그가 있습니다.
답변 2
스파크에서 출력 디렉토리를 덮어쓰는 방법에 대해 알아보겠습니다. 스파크는 대규모 데이터 처리를위한 엔진으로 우수한 성능과 확장성을 제공합니다. 스파크를 사용하여 작업을 수행하면 생성된 결과 데이터를 지정된 출력 디렉토리에 저장할 수 있습니다. 우리는 출력 디렉토리를 원하는 대로 덮어쓰는 방법을 알아볼 것입니다.스파크에서 출력 디렉토리를 덮어쓰려면 다음 단계를 따릅니다:
1. 우선, 스파크 세션을 시작하겠습니다. 이를위한 코드 예시는 다음과 같습니다:
```python
from pyspark.sql import SparkSession
sparkSession = SparkSession.builder \
.appName(Overwrite Output Directory) \
.getOrCreate()
```
2. 다음으로, 스파크 세션에서 사용할 입력 데이터를 로드하겠습니다. 이는 작업에 따라 다를 수 있습니다. 예를 들어, CSV 파일을 로드하려는 경우 다음과 같이 코드를 작성합니다:
```python
inputDataframe = sparkSession.read.csv(path/to/input.csv, header=True, inferSchema=True)
```
3. 출력 디렉토리를 지정합니다. 이는 작업에 따라 다를 수 있습니다. 다음은 CSV 파일로 출력 디렉토리를 지정하는 예시입니다:
```python
outputDirectory = path/to/output.csv
```
4. 이제 작업을 수행하여 결과 데이터를 생성하고, 결과를 지정된 출력 디렉토리에 저장하겠습니다. 예를 들어, 결과를 CSV 파일로 저장하고 싶다면 다음과 같은 코드를 작성합니다:
```python
outputDataframe.write.mode(overwrite).csv(outputDirectory)
```
위의 코드에서 `mode(overwrite)`는 출력 디렉토리에 이미 파일이 존재하는 경우 덮어쓸 것을 나타냅니다.
5. 마지막으로, 스파크 세션을 종료합니다:
```python
sparkSession.stop()
```
이렇게 하면 스파크에서 출력 디렉토리를 덮어쓸 수 있습니다. 스파크는 대용량 데이터 처리를위한 강력한 도구이며, 출력 디렉토리를 덮어쓰는 방법에 대해 알아보았습니다. 이를 통해 원하는 대로 결과 데이터를 관리할 수 있습니다.
추가로, 출력 디렉토리를 덮어쓰는 방법 외에도 스파크에서는 다양한 데이터 처리 작업을 수행할 수 있습니다. 데이터 프로세싱, 머신 러닝, 그래프 처리 등 다양한 작업을 지원하므로 필요에 따라 다양한 스파크 기능을 활용할 수 있습니다. 이를 통해 데이터 처리 작업을 효율적이고 빠르게 수행할 수 있습니다.
반응형
Comments