DataProcessing
-
[Spark] 데이터 가공(Feat. 코로나 Trend분석)DataProcessing/Spark 2021. 2. 17. 18:31
대용량 데이터 처리 및 트렌드 분석을 위해 Twitter API로 데이터 소스를 확보했다. 하지만 여기서 문제는 트윗 데이터 구조에 있었다. 아래와 같이 딕셔너리 형태로 이루어져 있고, 그 아래 하위 레벨에 또 다시 리스트 안에 딕셔너리 형태의 구조로 되어 있었다. 또한 id 값들이 전부 string으로 처리되어 있었다. 따라서 트렌드 분석을 위해서는 하위 레벨 내부 데이터를 조회할 수 있도록 데이터 가공이 필요했고, 이를 먼저 datataframe으로 만들어준 뒤 datafame 자체적으로 가공을 시도해봤다. 1. dataframe dict keys => new column https://mungingdata.com/pyspark/dict-map-to-multiple-columns/ Converting..
-
[환경설정] Spark 설치 및 ubuntu 환경 설정 (feat.AWS)DataProcessing/Spark 2021. 2. 15. 23:24
Spark 설치 시 다음과 같은 프로그램들이 필요합니다. Spark 2.4.7 Java jdk 1.8_251 Scala 2.11.12 Hadoop 2.7.3 Python 3.7.5 (Pyspark 사용 시 필요) Spark 2.4.7 $ wget https://downloads.apache.org/spark/spark-2.4.7/spark-2.4.7-bin-hadoop2.7.tgz $ tar xvf spark-* echo "export SPARK_HOME= ~/programs/Spark/spark-2.4.7-bin-hadoop2.7" echo "export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin" echo "export PYSPARK_PYTHON=/usr/bin/p..
-
[Spark] Trend 분석 연관어 빈도수 구하기 (feat. 불용어 처리)DataProcessing/Spark 2021. 2. 6. 20:14
총 2037건의 데이터 MongoDB 저장 후 연관어 빈도수 확인 및 불용어 처리하기 추측 단어들 리스트 위: 위.중증 형: 형집행정지 초: 올해 초, 초.중등 노: 노 마스크, 노 메이크업, 노 재팬 카: 카셰어링 융: 융.복합 거리두기의 경우 '거리' 와 '두기'로 나누어짐 => '거리두기'는 한 단어로 봐도 무방해보임 '두기'는 stopwords에 추가하고 거리 count를 '거리두기'로 반환 거리의 경우 거 와 리 로 나누어짐 => 거리일수도 있고, 코로나 우울(블루), 나만 그런 거 아니지? 와 같은 거의 사용이 있을 수 있다고 판단 확진자의 경우확과 진자로 나누어짐 => total count로 봤을 때, 비슷하다고 판단하여 확은 Stopwords에 포함시키고, 진자는 확진자로 바꾸어 DB 저장..
-
[Spark] 스파크 Dataframe 데이터프레임 가공하기DataProcessing/Spark 2021. 1. 31. 23:57
모듈 import import findspark findspark.init() from pyspark import SparkContext from pyspark.sql import SQLContext ## Cassandra import os os.environ['PYSPARK_SUBMIT_ARGS'] = \ '--packages com.datastax.spark:spark-cassandra-connector_2.11:2.4.1' \ ' --conf spark.cassandra.connection.host=localhost:port pyspark-shell' sc = SparkContext(appName="app name") sqlContext = SQLContext(sc) CassandraDB 데이터 조..
-
[Spark] Python 자연어처리 KoNLPy 형태소 분석 (feat. '코로나')DataProcessing/NLP 2021. 1. 30. 16:46
파이썬에서는 텍스트분석을 위한 자연어처리(Natural language processing) 오픈소스 라이브러리를 제공하는데 그 중에서도 한국어 자연어 처리를 위한 파이썬 패키지로는 KoNLPy ("코엔엘파이")가 있습니다. 일명 '파이썬 한글 형태소 분석기' 라고 합니다. KoNLPy에는 5가지의 종류의 형태소 분석기가 클래스로 포함되어 있습니다: Okt(Open Korea Text) 꼬꼬마(Kkma) 메캅(Mecab) 코모란(Komoran) 한나눔(Hannanum) 이는 자바 기반의 형태소 분석기 이므로 pip으로 바로 설치되지 않고, Java jdk와 Jpype를 설치해야 합니다. liveyourit.tistory.com/56 KoNLPy (파이썬 한글 형태소 분석기 ) 윈도우 설치 방법 파이썬 한..
-
[Spark] Tutorial #1 데이터 조회, 가공 & 데이터프레임 생성DataProcessing/Spark 2021. 1. 24. 23:09
Text파일 읽어오기 & 라인(row) 수 반환 sc lines = sc.textFile("README.md") # 해당 폴더 안에 있는 README.md 파일 읽기 lines.count() # 해당 파일 라인 수 전체 텍스트 읽기 (collect 함수) lines.collect() 특정 단어 포함한 문장 반환하기 python_in_lines = lines.filter(lambda line: "Python" in line) python_in_lines.collect() RDD map함수 => 각 데이터 요소에 함수를 적용해 'map' 타입으로 변환 rdd = sc.textFile("README.md") rdd_map = rdd.map(lambda x: (x,1)) rdd_map.collect() 첫 5문..
-
[환경설정] spark 스파크 jupyter notebook 실행 설정DataProcessing/Spark 2021. 1. 17. 23:58
cmd창에서 spark(pyspark)를 실행했을 때 자동으로 jupyter notebook으로 열리게끔 설정하는 방법입니다. 0. jupyter 설치하기 $ pip install jupyter 1. 윈도우 환경 변수 설정=> 사용자 변수 추가 시스템 속성> 고급> 환경변수> 상단 사용자 변수 새로만들기 클릭> 변수이름, 변수 값 각각 입력하기 환경 변수 변수 이름: PYSPARK_DRIVER_PYTHON 변수 값: jupyter 변수 이름: PYSPARK_DRIVER_PYTHON_OPTS 변수 값: 'notebook' or 환경 변수 파일 내 설정 export PYSPARK_DRIVER_PYTHON=jupyter export PYSPARK_DRIVER_PYTHON_OPTS='notebook' 2. 환경..