본문 바로가기

Spark

(18)
NBP Ncloud Cloud Hadoop에서 pySpark로 Object Storage 읽오는 방법 맨날 문서만 만지다가 오랜만에 코드 만지니 재밌네요. 문서질 하면 벌써 뻗었겠지만 코드질 하니 잠이 안오네요. 이번에 프로젝트를 하면서 네이버 클라우드를 처음 사용하는데 생각보다 재미있게 만들었네요 일단 클라우드 하둡을 세팅을 하면 HDP를 포팅해논것 같은데, 일단 Ambari가서 안쓸것 같은 Zepplin, Ozzie 는 다 꺼버리고 일단 NBP가 아쉬운건, 정말 잘만들어놨는데, 설명서가 부족하네요 ..;;(네이버에서 예제코드를 AWS S3 기준으로 설명해놨네여) 다음의 예제는 Pyspark로 Object Storage의 Parquet를 가져오는 예제입니다 2018/11/29 - [Study/Bigdata] - Pyspark로 Spark on Yarn Code --1(개발환경구성) 일단 기본코드는 다움..
apache phoenix org.apache.phoenix.exception.PhoenixIOException: org.apache.hadoop.hbase.security.AccessDeniedException: Insufficient permissions for user jdbc SpringBoot 로 Phoenix를 이용해서 HBASE로 Query를 날렸는데 다음과 같은 Exception을 발견하였습니다. org.apache.phoenix.exception.PhoenixIOException: org.apache.hadoop.hbase.security.AccessDeniedException: Insufficient permissions for user jdbc 이 문제는 JDBC 연결상의 문제라기 보다는, Spark로 Phoenix 사용하는 코드에도 동일하게 적용될수 있는 사항입니다 만약 HDP 계열을 사용하시다면, CDH, MapR도 비슷할것 같은데, 현재 제 환경은 HDP 이기 떄문에 Ranger에서 HBASE에 테이블 접근권한을 주시면 됩니다.
Pyspark로 Spark on Yarn Code --1(개발환경구성) Spark로 개발하는 방법에는 여러가지가 있지만, 일단은 PySpark를 사용하고 있습니다 다른 이유보다 너무 쉽게 됩니다. 현재 개발환경은, 개발서버에 Pycham 이 Direct로 붙는다는 환경이고 방화벽등의 환경에서는 달라질수 있습니다 먼저 제 환경은 다음과 같습니다 개발툴 : Pycham Professional - 서버의 파이썬 리모트 인터프리터 사용 - 시스템 기본 파이썬 인터프리터 사용 플랫폼 : HDP(Hortonworks Data Platform) 3.0.1 import os import sys os.environ['SPARK_HOME'] = "/usr/hdp/3.0.1.0-187/spark2" os.environ['HIVE_HOME'] = "/usr/hdp/3.0.1.0-187/hive"..
HDP3 에서 Spark 로 Hive Table 를 조회했는데 빈값이 나온경우 일단, 하는중 일부는 Spark 로 처리한 데이터를 Hive에 테이블을 넣는게 있습니다. 사실 이때는 몰랐는데, Spark 로 Hive 테이블을 읽으려는데 빈값이 나오더군요 . 사실 Spark 2.3? 인가 바뀌면서 enableHivesupport 인가 이옵션만 활성화 시키면 되서 , 뭐 다른문제인가 했는데, 사실 약간 조건적 상황인것 같은데, 현재 방법에서는 읽을 방법이 없는것 같습니다 HDP 3가 되면서 Hive에 기본적으로 테이블을 생성하면(Spark 로 생성하는게 아닌 Hive에서 직접) ACID가 적용이 되는데, 현재는 Spark 에서 접근할 방법이 없는것 같습니다. 물론, 강제적으로 alter table 해서 해결하면될것 같은 글들이 보이긴 하는데, https://community.horton..
HDP3 spark, pyspark, zepplin에서 database가 안보일때, 분명히 HDP3 에서 ranger에 제대로 설정되어 있는데 zepplin 이나 spark 에서 하이브 테이블이 안보입니다. 분명히 2.6때는 보였는데, HDP 3 되면서 정말 불친절해진 모양이네요 cp /etc/hive/conf/hive-site.xml /etc/spark2/conf 답은 매우 간단합니다. 클라이언트 노드에서 spark2 에 hive-site를 옮기시면 됩니다... HDP3 되면서 자동으로 다 설정해주던건데 이제 다 수동으로 바뀐 모양인네요 https://community.hortonworks.com/questions/221974/zeppelin-not-showing-hive-databasetables-in-hdp30.html Zeppelin : Not able to connect Hiv..
HDP3 클러스터에 HDF(nifi)설치 HDP3 되면서, 많은것이 바뀌었습니다 일단 눈에 띄는 변화는 Hadoop3 이 들어갔다는것과 제눈에 볼때 딱 달라진건 Falcon 이 없어진것 그리고 Flume 이 없어졌다는 https://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.6.3/bk_release-notes/content/deprecated_items.htmlDeprecated Components and Product CapabilitiesThe following components are marked deprecated from HDP and will be removed in a future HDP release:Component or CapabilityStatusMarked Deprecated as ..
Spark(Yarn) + Intellj 원격 디버깅 하기 Zepplin 만 쓰다가, Intellj + SBT + Scala 조합으로 Spark 프로그램을 만들다 보니, 열받는게, Zepplin 의 경우 중간중간 쉽게 중간 값을 볼수 있었는데, 일반적인 개발방법은 엄청 불편하다고 생각했는데, 아니나 다를까, Spark 원격 디버깅 하는 방법이 존재 1. sbt assembly 해서 Spark 패키지 만들고2. 파일을 서버에 업로드(Sbt에 Deploy 플러그인 있는데, 이런걸 이용하면 편할듯) -- 이런것이 없으면 디버깅 할때마다 이짓을 해야됨 3. Spark Client (실행노드)에서 다음을 입력 - 물론, 생각에 따라서는 Bashrc에 넣어도 상관없을듯 export SPARK_SUBMIT_OPTS= agentlib:jdwp=transport=dt_socke..
intellj, Spark Assembly 스파크 스트리밍 코드를 묶다가 예전에 있던 코드를 활용했더니 ... [warn] ::::::::::::::::::::::::::::::::::::::::::::::[warn] :: UNRESOLVED DEPENDENCIES ::[warn] ::::::::::::::::::::::::::::::::::::::::::::::[warn] :: com.eed3si9n#sbt-assembly;0.11.2: not found[warn] ::::::::::::::::::::::::::::::::::::::::::::::[warn][warn] Note: Some unresolved dependencies have extra attributes. Check that these dependencies exist with ..