[수행 중 나타났던 Unsupported class file major version 55 해결방법]
자바 설치하기 sudo apt-get install openjdk-8-jdk
새로운 자바 버전으로 바꾸기 sudo update-alternatives --config java
In [3]:
import findspark
#스파크를 찾을 때 사용하는 모듈
In [4]:
findspark.init('/home/hak/spark-2.4.5-bin-hadoop2.7/')
#내 스파크의 경로
In [5]:
from pyspark.sql import SparkSession
# Dataframe을 sql처럼 사용하기 위해 모듈 받기
In [6]:
spark = SparkSession.builder.appName('Basics').getOrCreate()
In [7]:
df = spark.read.csv('Samsung_stock.csv', inferSchema=True, header=True)
# 야후에서 받아온 삼성 근 5년간의 주식 변환 정보
In [8]:
df.printSchema()
# printSchema로 해당 csv파일의 스키마 즉, 데이터 타입들을 볼 즉 데이터 타입들을 볼 수 있음
In [44]:
from pyspark.sql.types import StructField,StringType,DoubleType,IntegerType,TimestampType,StructType
In [27]:
data_schema = StructType([
StructField('Date',TimestampType(),True),
StructField('Open',DoubleType(),True),
StructField('High',DoubleType(),True),
StructField('Low',DoubleType(),True),
StructField('Close',DoubleType(),True),
StructField('Volume',IntegerType(),True),
StructField('Adj Close',DoubleType(),True)
])
In [38]:
df = spark.read.csv('Samsung_stock.csv', header=True, schema=data_schema)
In [45]:
df.printSchema()
In [9]:
df.show()
# show() 메서드를 사용하여 데이터를 조회 가능
In [10]:
type(df['Open'])
#type 메서드를 사용해 데이터프레임의 열에 해당하는 타입을 볼 수 있음
Out[10]:
In [11]:
type(df.select('Open'))
#type 메서드를 사용해 데이터프레임의 선택한 열이 가지고있는 데이터 타입을 볼 수 있음
Out[11]:
In [12]:
df.select(['Date','Close']).show()
#select로 다중 열을 조회할 수 있음
In [13]:
df.createOrReplaceTempView("samsung")
#createOrReplaceTempView를 이용해 뷰를 만들 수 있따.
In [14]:
sql_results = spark.sql("Select * from samsung")
In [15]:
sql_results.show()
In [16]:
df.describe()
Out[16]:
In [80]:
df.filter(df['Close'] >60000).show()
#filter을 이용하면 각 열에 대해 Sql 방식이 아니더라도 조건을 부여하여 원하는 행을 볼 수 있음
In [84]:
df.filter((df['Close'] > 55000) & (df['Close'] <60000)).show()
#이때 괄호에 조심해야 한다.
In [17]:
result = df.filter(df["Low"] > 60000).collect()
#조건을 부여한 행에 collect메서드를 사용하여 리스트 형식으로 가져올 수 있음
In [18]:
type(result[0])
Out[18]:
In [19]:
result[0].asDict()
#dict타입으로 뽑은 데이터의 값을 확인
#for문 등으로 활용 가능
Out[19]:
반응형
'빅데이터 | 머신러닝 | 딥러닝 > 빅데이터 분석' 카테고리의 다른 글
[pandas/Selenium/BeautifulSoup4] 야구 시즌 기록 데이터(STATIZ) 웹 크롤링 후 DataFrame 만들기. DataFrame을 csv로 만들고 csv파일 로컬에 저장하기! (feat. Colab) (6) | 2020.09.08 |
---|---|
[pandas] 공공 데이터 XML 크롤링을 통해 dataFrame으로 만들어보기 (0) | 2020.09.04 |
[pandas] 코로나 수치 예측하기 (feat. Linear Regression) (0) | 2020.05.03 |
spark를 이용해서 Missing Data다루기 (0) | 2020.04.29 |
spark를 이용해서 Sales 정보 다루기(using groupBy, orderBy) (0) | 2020.04.23 |