pyspark Mysql 데이터베이스 읽 기와 쓰기 실현
소프트웨어 버 전
Python 에서 Spark 를 사용 하려 면 설정 Spark 를 설치 해 야 합 니 다.설정 과정 을 건 너 뛰 고 실행 환경 과 관련 프로그램 버 전 정 보 를 제공 합 니 다.
pyspark Mysql 연결 은 자바 로 이 루어 지기 때문에 Mysql 에 연 결 된 jar 패 키 지 를 다운로드 해 야 합 니 다.
다운로드 주소
다운로드
Connector/J
를 선택 한 다음 운영 체 제 를Platform Independent
로 선택 하고 압축 패 키 지 를 로 컬 로 다운로드 합 니 다.그리고 압축 파일 을 풀 고 그 중의 jar 패키지
mysql-connector-java-8.0.19.jar
를 spark 의 설치 디 렉 터 리 에 넣 습 니 다.예 를 들 어D:\spark\spark-3.0.0-preview2-bin-hadoop2.7\jars
.환경 설정 완료!
3 Mysql 읽 기
스 크 립 트 는 다음 과 같 습 니 다:
from pyspark.sql import SQLContext, SparkSession
if __name__ == '__main__':
# spark
spark = SparkSession. \
Builder(). \
appName('sql'). \
master('local'). \
getOrCreate()
# mysql ( )
prop = {'user': 'xxx',
'password': 'xxx',
'driver': 'com.mysql.cj.jdbc.Driver'}
# database ( )
url = 'jdbc:mysql://host:port/database'
#
data = spark.read.jdbc(url=url, table='tb_newCity', properties=prop)
# data
print(type(data))
#
data.show()
# spark
spark.stop()
prop
매개 변 수 는 실제 상황 에 따라 수정 해 야 한다.글 에서 사용자 이름과 비밀 번 호 는 xxx 로 대체 되 고driver
매개 변수 도 필요 하지 않 을 수 있다.url
매개 변 수 는 실제 상황 에 따라 수정 해 야 하고 형식 은jdbc:mysql:// : /
이다.read.jdbc
을 통 해 읽 고 되 돌아 오 는 데이터 형식 은 spark DataFrame 입 니 다.4 Mysql 에 쓰기
스 크 립 트 는 다음 과 같 습 니 다:
import pandas as pd
from pyspark import SparkContext
from pyspark.sql import SQLContext, Row
if __name__ == '__main__':
# spark
sc = SparkContext(master='local', appName='sql')
spark = SQLContext(sc)
# mysql ( )
prop = {'user': 'xxx',
'password': 'xxx',
'driver': 'com.mysql.cj.jdbc.Driver'}
# database ( )
url = 'jdbc:mysql://host:port/database'
# spark DataFrame
# 1:list spark DataFrame
l = [(1, 12), (2, 22)]
#
list_df = spark.createDataFrame(l, schema=['id', 'value'])
# 2:rdd spark DataFrame
rdd = sc.parallelize(l) # rdd
col_names = Row('id', 'value') #
tmp = rdd.map(lambda x: col_names(*x)) #
rdd_df = spark.createDataFrame(tmp)
# 3:pandas dataFrame spark DataFrame
df = pd.DataFrame({'id': [1, 2], 'value': [12, 22]})
pd_df = spark.createDataFrame(df)
#
pd_df.write.jdbc(url=url, table='new', mode='append', properties=prop)
# spark
sc.stop()
주의 점:prop
와url
매개 변 수 는 실제 상황 에 따라 수정 해 야 한다.데이터 베 이 스 를 기록 하 는 데 필요 한 대상 유형 은 spark DataFrame 로 세 가지 흔 한 데이터 형식 을 spark DataFrame 로 바 꾸 는 방법 을 제공 합 니 다.
호출
write.jdbc
방법 으로 기록 합 니 다.그 중의model
매개 변 수 는 데 이 터 를 기록 하 는 행 위 를 제어 합 니 다.model
매개 변수 해석
error
기본 값,원래 표 가 존재 하면 오 류 를 보고 합 니 다.
ignore
원본 표 가 존재 합 니 다.잘못 보고 하지 않 고 데 이 터 를 기록 하지 않 습 니 다.
append
새 데 이 터 는 원래 표 줄 끝 에 추가 합 니 다.
overwrite
원본 테이블 덮어 쓰기
5.자주 오 류 를 보고 합 니 다.
Access denied for user …
원인:mysql 설정 매개 변수 오류
해결 방법:user,password 맞 춤 법 을 검사 하고 계 정 비밀번호 가 정확 한 지 확인 하 며 다른 도구 로 my sql 이 정상적으로 연결 되 는 지 비교 검 사 를 합 니 다.
No suitable driver
원인:실행 환경 이 설정 되 지 않 았 습 니 다.
해결 방법:jar 패 키 지 를 다운로드 하여 설정 하고 구체 적 인 과정 은 본 고의 2 환경 설정 을 참고 합 니 다.
pyspark 가 Mysql 데이터베이스 에 대한 읽 기와 쓰기 실현 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 관련 pyspark Mysql 읽 기와 쓰기 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
jupyter notebook pyspark 사용 (mac)spark download 설치후에 버전확인. pyspark 실행시 jupyter로 접속하도록 환경변수 설정 이 후 pyspark 입력했을때 jupyter notebook 켜지면 성공 pyspark 테스트 노트파일 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.