log4j 설정

<appender name="request" class="org.apache.log4j.DailyRollingFileAppender">
    <param name="Threshold" value="DEBUG" />
    <param name="File" value="${catalina.base}/logs/${project-name}-request" />
    <param name="DatePattern" value="'.'yyyyMMdd" />
    <param name="Append" value="true" />
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %m%n" />
    </layout>
</appender>

 

 

자바

    private final static Logger LOGGER = LoggerFactory.getLogger("notireq");

    // log
    LOGGER.info(field + “ “ + fieldA + “ “ + …..);

 

 

자바 소스에서 whitespace (공백) 단위로 시간정보와 구조적인 로그가 나오게 했다.

 

2012-09-19 23:55:00 A B C D E F G 

 

이를 스크립트를 통해서 로그의 row에 host이름을 더 추가하여 HDFS에 수집(저장)하게 하고. Hive를 이용해서 검색하게 했다.

 

Hive 에서 아래와 같은 table을 생성했다.

 

CREATE TABLE event_logs (

   host String,

   A String,

   B String,

   C String,

   D String,

   E String,

   F String,

   G String)

PARTITIONED BY (dt STRING)

ROW FORMAT DELIMITED

FIELDS TERMINATED BY ' '

LINES TERMINATED BY '\n'

 

이렇게 하니. 원하는 대로 HSQL 쿼리를 만들 수 있었다.

 

 

 

공부한 출처:

HSQL을 잘 몰라서 헤맸는데,  Hive 문서의 힌트를 통해서 발견했다.

https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL

 

image

'scribbling' 카테고리의 다른 글

clip cygwin 명령어  (0) 2012.10.17
Javaone 2012 자료  (0) 2012.10.16
flume-ng 테스트와 버그  (2) 2012.09.17
hadoop 설치 (hdfs)  (0) 2012.09.17
Hadoop - Name node is in safe mode. 에러 해결  (0) 2012.09.17
Posted by '김용환'
,