전체 글 216

java에서 property파일 쉽게 찾기 (ClassLoader )

java로 프로그래밍을 하다가 보면 몇가지 설정값을 외부에서 받아야 하는 경우가 있는데 이때 사용하는 것이 property 파일이다. jdk에도 이 프로퍼티 파일을 다룰 수 있는 클래스가 마련되어 있다. java.util.Properties 클래스가 그 용도이다. 이 클래스를 사용하려면 load라는 메소드를 통해서 프로퍼티 파일일 읽어 와야 하는데 이때 전달되는 인자는 InputStream이다. 문제는 이 InputStream을 전달하려면 FileInputStream을 만들어서 전달해야 하는데 이 FileInputStream을 생성하려면 그 프로퍼티 파일의 경로를 알아야 한다는 것이다. 프로퍼티 파일의 경로를 알아오는 방법에 대해서 몇가지 생각해 보자 1. 프로그램 코드에 상수로 프로터피 파일의 경로를 ..

Public/tip & tech 2019.05.16

log4j thread 별 로그찍기

테스트 결과 log4j.properties 파일외에 Thread 클래스 파일 생성자에서 다음과 같이 구현했더니 스레드에 부여한 ID별로 로그 파일이 정상적으로 생성됩니다. 참고하세요 m_logger = Logger.getLogger("SessionThread-" + strSessionID); String strLogFileName = "./log/SessionThread/" + strSessionID + ".log"; Properties prop = new Properties(); prop.setProperty("log4j.logger.SessionThread-" + strSessionID, "DEBUG, SessionThread"); prop.setProperty("log4j.appender.Sessi..

Public/tip & tech 2019.05.14

Hive Join

SQL Skin을 사용하는 가장 큰 이유는 아마도 Join 연산 때문일 것이다. Mysql DB를 다룰 때 초보 수준에서 약간 중급으로 넘어가면서 흔히들 많이 어려워 하는 것이 Join 구문입니다. 먼저, 아래와 같은 테이블 두개가 있다고 합시다. +————+————–+——+ | name | phone | pid | +————+————–+——+ | Mr Brown | 01225 708225 | 1 | | Miss Smith | 01225 899360 | 2 | | Mr Pullen | 01380 724040 | 3 | +————+————–+——+ +——+——+———————-+ | pid | spid | selling | +——+——+———————-+ | 1 | 1 | Old House Farm | | 3..

HiveHBaseTableInputFormat.java

이 파일은 Hbase에 있는 테이블을 Hive에서 생성할 때 (Metadata mapping) 사용된다. Mapping 방법에 대해 HBase 개발자 닉 디미덕은 아래와 같이 제시한다.(나는 닉 미더덕이라고 부르는데 HBase in Action 책 쓴사람이고 HBase 개발자다) https://ko.hortonworks.com/blog/hbase-via-hive-part-1/ 하나는 HBaseStorageHandler 를 이용하여 HBase 테이블을 Hive Metastore에 등록하는 방법이고다른 하나는 HiveHBaseTableInputFormat 및 HiveHBaseTableOutputFormat. HBase 테이블을 Hive에 직접 등록하는 방법이다. HBaseStorageHandler 는 Hba..

Hive - Presto 연동

HBase의 데이터를 빠르게 조회하기 위해 Presto를 사용했다. Presto Cli를 통해 Presto에 접속하려면 Server 정보를 알아야한다. [hadoop@ip-10-251-157-177 ~]# presto-cli --server 10.251.157.177:8889 --catalog hive --schema default; 스키마 검색presto:default> show schemas from hive; Schema-------------------- default information_schema(2 rows) Query 20190218_042334_00002_k6s2t, FINISHED, 3 nodesSplits: 36 total, 36 done (100.00%)0:00 [2 rows, 3..

HBase -> Hive 연동

Hbase의 noSQL Data를 분석이나 Service에서 그대로 사용하려면 개발 공수가 많이 든다.그래서 주로 SQL on Hadoop을 쓴다. 나는 Hbase를 Data Ware House로 구성하고 SQL On Hadoop으로 Hive + Presto를 사용했는데먼저 HBase -> Hive Porting 하는 방법을 기술한다. 1. HBase에 테이블이 존재한다고 가정한다. hbase(main):001:0> listTABLEcost_tbltbil_aws_dtbil_aws_stbil_azr_day_stbil_comn_ctbil_oprt_dtl_htbil_pfx_htbil_svg_set_inst_ltbil_svg_set_ltbil_tag_htic_tbil_aws_dtoc_tbil_aws_dtpms_..