Spark를 사용하여 Postgres 데이터베이스로 텍스트 파일을 내보내려고합니다. 개별 텍스트 파일을 내보내려면 아래 코드를 사용하고 있습니다. 나는 같은 폴더에 200 개의 텍스트 파일을 가지고 있고 모든 텍스트 파일은 같은 구조를 가지고있다. 불행히도 올해 값은 필자의 입력 파일의 일부가 아니기 때문에 코딩하기가 어렵습니다.Spark - Automation을 사용하여 PostgreSQL로 텍스트 파일 내보내기
한 번에 모든 파일을 업로드하고 싶지만 수행 방법을 모르겠습니까? 누구든지 제안 사항을 알려주십시오.
from pyspark.sql import SQLContext, Row
sqlContext = SQLContext(sc)
lines = sc.textFile("/aaaa/bbbb/DataFile/t-1870.txt")
splits = lines.map(lambda l: l.split(","))
raw_data = splits.map(lambda b: Row(name=b[0], gender=b[1],count=int(b[2]),year=int(1870)))
schemaBabies = sqlContext.createDataFrame(raw_data)
schemaBabies.registerTempTable("raw_data")
df = sqlContext.sql("select * from raw_data")
pgurl="jdbc:postgresql://localhost:5432/sparkling?user=XXXX&password=XXXX"
properties={"user":"XXXX","password":"XXXX","driver":"org.postgresql.Driver","mode":"append"}
df.write.jdbc(url = pgurl ,table = "EDW.raw_data",properties=properties)
입력 내용을 기반으로 코드를 일부 변경했으며 데이터베이스에 200 개 이상의 텍스트 파일을 모두로드 할 수있었습니다. 정말 도움을 주셨습니다. – ytasfeb15