[PYTHON] pyspark 고정 너비 텍스트 파일 구문 분석
PYTHONpyspark 고정 너비 텍스트 파일 구문 분석
고정 폭 텍스트 파일을 구문 분석하려고합니다.
내 텍스트 파일은 다음과 같으며 행 ID, 날짜, 문자열 및 정수가 필요합니다.
00101292017you1234
00201302017 me5678
sc.textFile (path)을 사용하여 RDD로 텍스트 파일을 읽을 수 있습니다. 나는 파싱 된 RDD와 스키마로 createDataFrame을 만들 수있다. 이 두 단계 사이를 파싱합니다.
해결법
-
==============================
1.Spark의 substr 함수는 고정 너비 열을 처리 할 수 있습니다. 예를 들면 다음과 같습니다.
Spark의 substr 함수는 고정 너비 열을 처리 할 수 있습니다. 예를 들면 다음과 같습니다.
df = spark.read.text("/tmp/sample.txt") df.select( df.value.substr(1,3).alias('id'), df.value.substr(4,8).alias('date'), df.value.substr(12,3).alias('string'), df.value.substr(15,4).cast('integer').alias('integer') ).show()
결과는 다음과 같습니다.
+---+--------+------+-------+ | id| date|string|integer| +---+--------+------+-------+ |001|01292017| you| 1234| |002|01302017| me| 5678| +---+--------+------+-------+
분할 된 열을 사용하면 정상적인 스파크 데이터 프레임 에서처럼 다시 포맷하고 사용할 수 있습니다.
from https://stackoverflow.com/questions/41944689/pyspark-parse-fixed-width-text-file by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] 패키지 내의 모든 모듈 구성원을 가져 오는 방법은 무엇입니까? (0) | 2018.11.15 |
---|---|
[PYTHON] Windows에서 Flask를 설치하는 방법은 무엇입니까? (0) | 2018.11.15 |
[PYTHON] PIL - libjpeg.so.8 : 공유 객체 파일을 열 수 없습니다 : 해당 파일 또는 디렉토리 없음 (0) | 2018.11.15 |
[PYTHON] 파이썬에서 기본 인코딩을 설정하는 방법 (setdefaultencoding () 함수가 존재하지 않습니다)? [복제] (0) | 2018.11.15 |
[PYTHON] 문자열 목록에서 문자 제거 (0) | 2018.11.15 |