-
Notifications
You must be signed in to change notification settings - Fork 1
Home
TayPark edited this page Nov 7, 2021
·
32 revisions
스파크 플러스 패키지는 주소체계 데이터베이스와 연동해 위치 정보의 데이터 분석을 위한 데이터프레임을 생성합니다.
$ pip install sparkplusfrom sparkplus.core import load_tables
table_df = load_tables(spark_session, table_names, driver="com.mysql.cj.jdbc.Driver", url={db_url}, user={db_user}, password={db_password})| 광역시/도 | 테이블 이름 |
|---|---|
| 서울 | intergrated_address_seoul |
| 인천 | intergrated_address_incheon |
| 대전 | intergrated_address_daejeon |
| 세종 | intergrated_address_sejong |
| 광주 | intergrated_address_gwangju |
| 대구 | intergrated_address_daegu |
| 울산 | intergrated_address_ulsan |
| 부산 | intergrated_address_busan |
| 제주 | intergrated_address_jeju |
| 경기 | intergrated_address_gyeonggi |
| 강원 | intergrated_address_gangwon |
| 충북 | intergrated_address_chungbuk |
| 충남 | intergrated_address_chungnam |
| 전북 | intergrated_address_jeonbuk |
| 전남 | intergrated_address_jeonnam |
| 경북 | intergrated_address_gyeongbuk |
| 경남 | intergrated_address_gyeongnam |
- 최신 시군구 or 읍면동 shp 다운로드
from sparkplus.core import load_gdf
gdf = load_gdf(shp_path, epsg)from sparkplus.core import CoordDataFrame, AddressDataFrame주소체계 데이터베이스에서 필요한 광역시 테이블로부터 Spark DataFrame을 생성합니다.
table_df = load_tables(ss, table_names, driver=driver, url=url, user=user, password=password)
table_df.select('roadname_code', 'sido', 'sigungu', 'eupmyeondong').show()params
-
ss: Spark Session -
table_names: 주소체계 데이터베이스에서 불러올 테이블의 이름(str, list type) -
kwargs- driver: MySQL JDBC Driver(str)
- url: Database URL(str)
- user: Database username(str)
- password: Database password(str)
geometry 정보를 담고 있는 shp 파일로부터 Geo DataFrame을 생성합니다.
gdf = load_gdf(shp_path, epsg)params
- shp_path: shp file이 있는 디렉토리 경로
- epsg: shp file의 epsg 값(int)
위치 좌표를 포함하는 데이터프레임을 주소체계 데이터베이스와 연동하여 pnu코드, h3, 우편번호, 법정동코드, 도로명주소(시도/시군구/읍면동/법정리/도로명/지하여부/건물 본번/건물 부번), 도로명주소(전체), 지번주소(시도/시군구/읍면동/법정리/지번 본번/지번 분번) 등의 컬럼을 추가합니다.
coord_df = CoordDataFrame(source_df, geo_df, table_df, x_colname, y_colname)비정형 도로명주소를 포함하는 데이터프레임을 주소체계 데이터베이스와 연동하여 분석 및 시각화할 수 있는 형태의 시도, 시군구, 읍면동,법정동코드, 시군구코드 등의 컬럼을 추가합니다.
address_df = AddressDataFrame(target_colname, source_df)