스파크(SPARK) (8) 썸네일형 리스트형 스파크 출력 결과 csv 파일 저장하기 스파크 SQL 로 출력한 결과를 csv 파일에 저장하는 기본 코드 scala> sql(""" 출력 코드""").coalesce(1).write.option("header","true").option("sep",",").mode("overwrite").csv("/home/oracle/ff") 설명 coalesce(1) : 하나의 파일에 모두 담아라 괄호에 숫자 2를 쓰면 2개의 파일에 나눠 담아라는 뜻이다. write.option("header","true") : 컬럼명(header) 이 나오게 해라 option("sep",",') : 콤마(,) 로 구분하는 csv 파일 형태로 저장해라 mode("overwrite").csv("/home/oracle/ff"): /home/oracle/ff 라는 폴더를 만들.. 스파크로 WHERE 절 서브쿼리 문제 풀기 스파크에서도 SQL 서브쿼리 및 조인이 가능하다! 스파크 접속 (base) [oracle@centos ~]$ spark-shell 스파크 종료 scala> exit 혹은 scala> :quit 스파크에 접속하자 WHERE 절 서브쿼리 문제 1. ALLEN 보다 늦게 입사한 사원들의 이름, 입사일을 출력해보자 scala> sql(""" select ename, hiredate from emp where hiredate > ( select hiredate from emp where ename='ALLEN') """).show() +------+----------+ | ename| hiredate| +------+----------+ | KING|1981-11-17| | BLAKE|1981-05-01| | C.. 스파크 SQL 기본 코드 예제 (group by, rank) 문제 1. 부서번호가 30번인 사원들의 이름, 월급, 부서번호를 출력하시오 # sqlContext.sql 도 가능하지만 그냥 편하게 sql로 하기 scala> sql("""select ename, sal, deptno | from emp | where deptno=30""").show() +------+----+------+ | ename| sal|deptno| +------+----+------+ | BLAKE|2850| 30| |MARTIN|1250| 30| | ALLEN|1600| 30| |TURNER|1500| 30| | JAMES| 950| 30| | WARD|1250| 30| +------+----+------+ 문제 2. 직업과 직업별 토탈월급을 출력하는데 HAVING 절을 이용해서 직업별 .. 스파크로 하이브(hive) SQL 사용하기(예제:emp 테이블) 예제 : 스파크에서 emp 테이블 생성하고 쿼리하기 스파크 접속 (spark-shell) (base) [oracle@centos ~]$ spark-shell 스파크 접속 Welcome to ____ __ / __/__ ___ _____/ /__ _\ \/ _ \/ _ `/ __/ '_/ /___/ .__/\_,_/_/ /_/\_\ version 2.0.2 /_/ Using Scala version 2.11.8 (Java HotSpot(TM) Client VM, Java 1.7.0_60) Type in expressions to have them evaluated. Type :help for more information. scala> 접속이 안될 때 해결방법 spark 빠져나오기 exit oracle에서.. 스파크에서 작업이 안되고 계속 에러가 날 때 조치 방법 1. 스파크에서 빠져나오기 scala> :quit 2. root 계정으로 로그인해서 reboot $ su - [root@centos ~]# reboot 3. 리부팅 후에 다시 putty에서 oracle로 로그인하여 하둡 올리고 jps 확인 (base) [oracle@centos ~]$ start-all.sh (base) [oracle@centos ~]$ jps 스파크(SPARK) 접속하여 HIVE SQL 사용하기(시작 단계) 1. 스파크 접속 scala> val sqlContext = new org.apache.spark.sql.hive.HiveContext(sc) 2. hive SQL 을 스파크에서 사용하겠다고 지정 scala> val sqlContext = new org.apache.spark.sql.hive.HiveContext(sc) 3. 원하는 sql 사용하면 됩니다. 만약 스파크 접속이 안되면? 만약 다 어그러지면 spark 빠져나와 (exit) oracle 에서 jps 20046 sparksubmit 죽이기! $kill -9 20046 여기서 안되면 reboot 스파크 설치하기 스파크 설치는 간단하다! 1.oracle 의 홈디렉토리로 이동 (base) [oracle@centos ~]$ cd 2. 설치 파일 다운로드 (base) [oracle@centos ~]$ wget https://archive.apache.org/dist/spark/spark-2.0.2/spark-2.0.2-bin-hadoop2.7.tgz 3. 압축 풀기 (base) [oracle@centos ~]$ tar xvzf spark-2.0.2-bin-hadoop2.7.tgz 4. 압축 풀고 생긴 디렉토리의 이름을 spark 로 변경 (base) [oracle@centos ~]$ mv spark-2.0.2-bin-hadoop2.7 spark 5. .bash_profile 를 열어서 맨 아래에 아래의 export 문.. 스파크란 무엇인가 스파크 하둡의 단점을 개선하기 위해 나온 소프트웨어로 Hadoop과는 다른 독립된 프로젝트, Hadoop이 아닌 MapReduce를 대체하는 것 우선 하둡의 구조를 보자. 왜냐면 스파크는 하둡의 단점을 개선하기 위해 나온 것이기 때문. 하둡이란? 여러 컴퓨터를 사용하여 빅데이터를 분산저장, 분산처리할 수 있게 만든 시스템 즉, 빅데이터를 처리하는 시스템 하둡이라는 에코시스템은 단일 솔루션을 제공하는 게아닌 수집, 저장, 분석, 자원관리를 위한 솔루션 등이 포함되어있는 거대한 생태계. 이 생태계는 공통적으로 Hadoop 에서 제공하는 파일시스템(HDFS), 자원관리매니저(YARN), 맵리듀스(MapReduce) 를 사용한다. 하둡의 아키텍쳐를 보면 저장 - HDFS 에 저장하고, 분석작업 - 맵리듀스를 통.. 이전 1 다음