본문 바로가기
728x90

BigData/Spark & Spark Tuning33

HIVE QL(HQL) VS Pyspark (REGEXP_REPLACE 구문 차이정리) 프로젝트 중 ,HIVEQL -> PySpark 작업중에 HIVEQL속에 REGEXP_REPLACE 구문 및, RLIKE 구문이 있었습니다. 거기에서 발생한 issue를 정리하려고 합니다. 1.REGEXP_REPLACE 이놈이 문제였습니다. HQL에는 REGEXP_REPLACE(컬럼,'\(\\d+\)\.\(\\d+\)\.\(\\d+\)\[-|.]\(\\d+\)',$1)와 같은 구문이 있었고, 처음에는 그대로 복붙하면 spark에서도 먹힐 줄 알았습니다. 그대로 사용해서 실행시켜보니, 오류는 나지 않았지만, 데이터가 0건으로 조회되었습니다. 말그대로 오류는 내지 않지만 REGEXP_REPLACE도 제대로 먹지 않았던 것 입니다. 여러 시도 끝에 SPARK에서는 REGEXP_REPLACE(컬럼,'(\d+)\... 2021. 8. 19.
[Spark] virtual box linux [ubuntu 18.04]에 스파크 설치,다운로드 5.ubuntu 에 spark(스파크) 다운로드,설치 이번 포스트에는 Spark를 설치해 보겠습니다. vritualbox 설치,ubuntu설치, ssh통신, hadoop 설치가 완료 되지 않으신 분은 아래의 URL을 참고하여 완료해 주세요. 1.virtualbox 설치 및 ubuntu 설치 spidyweb.tistory.com/212?category=842040 [Hadoop] virtual box linux [ubuntu 18.04]에 하둡 설치,다운로드 1.virtualbox에 ubuntu 설치하기 1.virtual box를 다운로드한다. www.virtualbox.org/wiki/Downloads Downloads – Oracle VM VirtualBox Download VirtualBox Here you will find links to Virtua.. 2021. 5. 16.
[BigData] SQL을 Spark Dataframe API,Method로 변환하기(select,selectExpr,col,Join,Windowfunction,inline view) 1. dataframe Method로 select,selectExpr,expr,col 이용하여 컬럼 출력하기(with 집계함수) expr을 사용할 때는 expr("") 따옴표안에 표현식이 위치 selectExpr를 사용할 때도 selectExpr("") 따옴표안에 표현식이 위치 select와 함수,컬럼 이름으로 쓰고싶을 때는 select(함수("컬럼 이름"))처럼 사용 select와 함수,col을이용한 컬럼 이름을 명시하고 사용하는 방법은 select(함수(col("컬럼 이름"))) 처럼 사용 2. SQL에서의 조인을 Dataframe Method로 join구현하기 데이터프레임.select.join(조인할 데이터프레임,조인할 표현식,조인 방식).show() SELECT FROM 처럼 조인할 테이블이 있으.. 2021. 2. 26.
[BigData] Spark 예제, Dataframe 특징, 설정 값, SQL 파일 읽어오기 csv, json, parquet 등등 df = spark.read.format("json").option("header","true").load("주소") //option("header","true")는 해당 열의 이름을 표기 df = spark.read.format("csv").option("inferSchema","true").load("주소") df = spark.read.format("parquet").load("주소") option 종류 sep: 구분자 default: , Spark 1.6 방식에서는 delimiter를 사용해야 한다 encoding default: UTF-8 quote: value가 큰 따옴표로 묶인 경우 "를 지정 defualt: " escape: 구분자가 v.. 2021. 2. 17.
[PySpark] Spark 환경 설정 with Anaconda(Jupyter Notebook) Python(Pyspark Standalone mode) on windows 이번 포스트는 windows 10에 jupyter notebook에 pyspark 개발환경을 구축해보겠습니다. 1. java 설치 확인 or java 설치 spark는 scala로 구현되어 jvm 기반으로 동작하기 때문에 java를 설치해야 합니다. Java 8 version이 설치되어 있는 지 확인합니다. 1-1 java 설치 확인 or java 설치 Java가 설치되어 있고, 환경변수가 올바르게 설정되어 있다면, 명령 프롬프트(CMD)를 켜고 java –version 새로운 session 즉, 환경변수 적용된 이후의 새로운 CMD(명령프롬프트)창부터 환경변수는 적용 만약, java가 설치되어 있지 않다면, https://www.oracle.com/java/technologies/javase/javas.. 2021. 2. 17.
[BigData] Spark( RDD vs DataFrame vs Dataset) 출처 : A comparison between RDD, DataFrame and Dataset in Spark from a developer’s point of view RDD Resilient: 분산되어 있는 데이터에 에러가 생겨도 복구할 수 있는 능력 Distributed: 클러스터의 여러 노드에 데이터를 분산해서 저장 Dataset: 분산된 데이터의 모음 SparkContext를 통해 만들어지며 보통 sc=spark.SparkContext를 통해 객체를 생성한다 SparkSession을 import해도 SparkContext가 포함되어 있는 내용이라 SparkSession만 import해도 사용가능하긴 하다. ex) spark = SparkSession.builder.appName("이름").mas.. 2021. 2. 15.
728x90