개발일기

빅데이터 Spark 사용해보기 - (2) Colab에서 Python 사용하기 본문

프로그래밍 이론/Python

빅데이터 Spark 사용해보기 - (2) Colab에서 Python 사용하기

한민기 2021. 10. 5. 15:41
반응형

Colab 링크 : https://colab.research.google.com/notebooks/welcome.ipynb?hl=ko 

 

Google Colaboratory

 

colab.research.google.com

 

줄여서 Colab 이라고 하는 Colaboratory를 사용하면 브라우저에서 Python을 작성하고 실행할 수 있다.

 

Colab은 구성이 필요하지 않는다는 점, GPU 무료 액세스, 간편한 공유 라는 장점이 있다.

 

Colab은 Python 스크립트를 실행할 수 있는 코드 셀 입니다. 

 

 

# Colab 사용하기

Colab을 사용하기 Python 스크립트를 실행하기 위한 GPU를 할당 받는다.

 

# 할당 받은 GPU의 성능 알아보기

1
!grep . /etc/*-release
cs

명령어를 통해 우리가 할당받은 GPU가 우분투 18.04.5 LTS 버전인 것을 확인할 수 있다.

 

 

# Colab 환경에 Spark 셋업 하기

1
2
3
4
5
!pip install pyspark
!pip install --q PyDrive
!apt install openjdk-8-jdk-headless -qq
import os
os.environ["JAVA_HOME"= "/usr/lib/jvm/java-8-openjdk-amd64"
cs

스파크를 사용하기 위해 필요한 라이브러리를 설치를 진행하며 자바 또한 설치하고 환경변수 까지 설정해준다.

 

 

# Colab을 사용하기 위해 계정 인증을 진행하는 과정

 

 

# 데이터 파일 다운로드

1
2
3
4
5
6
7
id='1L6pCQkldvdBoaEhRFzL0VnrggEFvqON4'
downloaded = drive.CreateFile({'id': id}) 
downloaded.GetContentFile('Bombing_Operations.json.gz')
 
id='14dyBmcTBA32uXPxDbqr0bFDIzGxMTWwl'
downloaded = drive.CreateFile({'id': id}) 
downloaded.GetContentFile('Aircraft_Glossary.json.gz'
cs

데이터가 담김 파일 2개를 설치 한다.

 

코드를 실행하면 위처럼 정상적으로 json형태로 파일이 저장된 것을 볼 수 있다.

 

 

# Spark 사용하기

1
2
3
4
5
6
7
8
9
10
# Let's import the libraries we will need
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
 
import pyspark
from pyspark.sql import *
from pyspark.sql.functions import *
from pyspark import SparkContext, SparkConf
cs

스파크를 사용하기 위해 필요한 라이브러리들을 추가한다.

 

1
2
3
4
5
6
# create the session
conf = SparkConf().set("spark.ui.port""4050")
 
# create the context
sc = pyspark.SparkContext(conf=conf)
spark = SparkSession.builder.getOrCreate()
cs

Session과 context를 생성해준다.

 

여기까지 완료 되었다면 spark 명령어를 입력 했을 때 정상적으로 사용 준비 되있는 것을 볼 수 있다.

 

# json 파일 읽기

1
2
Bombing_Operations = spark.read.json("Bombing_Operations.json.gz")
Aircraft_Glossary = spark.read.json("Aircraft_Glossary.json.gz")
cs

사전에 설치한 파일들을 spark를 사용하여 읽어 데이터를 사용 준비를 한다.

 

 

# 데이터 가져오기

take(10) 명령어를 사용하여 해당 json 데이터에서 상위 10개의 데이터를 가져온다.

 

 

# 쿼리 사용하기

SQL 쿼리 문을 통해 데이터들을 요약하여 볼 수 있다. 위 데이터를 토대로 각 나라에서 몇번의 미션을 수행했는지 카운트 하여 보여준다.

 

여기서 SQL 쿼리문 말고 파이썬을 통해서도 표시할 수 있다.

 

 

 

# Pandas

MissionsCount 를 기준으로 정렬하여 보여준다.

 

Pandas를 사용하게 되면 위처럼 데이터의 통계를 그래프로도 표현할 수 있다.

 

반응형
Comments