목록HIVE (9)
GOOD4ME

현재 PySpark를 사용하여 다른 데이터베이스에 적재되어있는 데이터를 불러온 후, 전처리하여 HDFS에 parquet 형태로 적재한 뒤, Hive를 사용하여 적재한 parquet을 조회하는 파이프라인을 구축하고있다. 문제가 된 쿼리 PySpark에서 parquet으로 적재할 때, 따로 데이터의 형태를 변환하지 않고 그대로 적재를 했고 Hive에서 parquet 경로를 지정하여 external 테이블 생성 시, 일자 자료형에 date를 기입하여 작업을 진행했고 그 결과는 하단과 같다. Failed with exception java.io.IOException:org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.ClassCastException: or..

구축중인 빅데이터 플랫폼은 MSSQL 데이터베이스 내의 테이블을 Sqoop을 사용하여 HDFS로 옮긴 후, 옮긴 디렉터리를 타겟으로 하여 Hive 테이블을 생성하여 데이터를 조회 및 처리하였다. 그러나 상기의 방법 과정은 MSSQL -> Sqoop -> HDFS & Hive 이며 그 과정에서 많은 자원을 소모한다는 단점이 존재했다. 이번 주제에서는 MSSQL -> Spark -> HDFS | Hive 로 Sqoop 대신 Spark를 사용하는 것이며 Spark를 통해 여러 전처리를 적용한 후, HDFS에 parquet 형태로 저장하는 것을 목표로 한다. 사전 준비 작업 Docker 기반의 Spark Cluster Container가 구성되어야하고 데이터를 처리할 Container가 추가로 구성되면 더 좋다..

MapReduce 분산 데이터 처리 프레임워크인 MapReduce는 임의의 자바 프로그램을 실행시킬 수 있어 비구조화된 데이터를 가공하는데 적합하다 Map은 데이터를 변형하며 Reduce는 Map의 결과 데이터를 집계한다 데이터의 Reduce 작업이 끝나면 중간 결과를 HDFS에 저장한 뒤, 다시 M-R 작업이 이루어지기 때문에, Disk I/O가 발생하여 작업 속도가 저하된다 TEZ TEZ는 MapReduce처럼 분산 데이터 처리 프레임워크이다 미리 실행계획을 계산하여 DAG를 통해 Disk에 저장하는 과정없이 Map 단계의 데이터를 메모리에 저장 후, Reduce에 전달함으로써 작업 속도가 MapReduce에 비해 빠르다. 간단한 작업에 대해서는 처리 속도 향상률이 낮은건 비밀...😂 Hive는 기본..

무엇이 문제인가? TEZ 엔진 기반의 Hive 구동 시, 아래처럼 오류가 발생하는 것을 확인했다. Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/tez/dag/api/SessionNotRunning at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:661) at org.apache.hadoop.hive.ql.session.SessionState.beginStart(SessionState.java:591) at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:747) at org.apache.ha..