반응형

전체 글 63

Embed Python in java (jep) 환경 설정

Embed Python in Java (jep) jep는 간략하게 설명하면 java로 python interpreter를 구현하여 C / C++ 기반의 library와는 호환이 어려웠던 jython과는 다르게, JNI를 통해 CPython을 호출함으로써 C / C++ 기반의 python library도 java 상에서 실행이 가능한 프로젝트이다. Getting-Started 를 따라서 설치를 진행하다보면, 별도의 python library 사용 없는 간단한 python 코드의 경우 쉽게 실행 가능하다 Main.java:import jep.Jep; public class Main { public static void main(String[] args) throws Exception{ try(Jep jep ..

Programming/Python 2017.04.05

How do I list the files inside a JAR file?

http://stackoverflow.com/a/28057735/6599494 spring-boot의 단일 jar 파일에서 의존성 파일을 추출해야할 일이 생겼다. 위의 글의 방법 중 CodeSource 의 경우에는 /BOOT-INF/lib 밑의 파일의 리스트를 얻어오는데 실패했지만, Java 8의 Files.walk 기능을 사용해서는 올바르게 리스트를 얻어왔고 덕분에 다이나믹하게 파일을 추출하는데 성공했다. Java 7 이라면 Files.walkFileTree를 쓰면 되지 않을까 한다.

Programming/Java 2016.08.31

Remote hbase에 접근이 불가능할때

1번 서버에 hbase master 및 datanode, region server가 존재하고 2번 서버는 오로지 client만으로 사용하려고 했는데 2->1번 접속 시 connection refused가 떴다. 여러가지를 해보다가, http://stackoverflow.com/questions/7791788/hbase-client-do-not-able-to-connect-with-remote-hbase-server 링크를 따라서 해보고 해결. /etc/hosts의 내용을 아마 위에서 아래로만 읽는 걸로 알고있는데, 127.0.01 localhost를 /etc/hosts의 제일 아래로 내려놔 hbase master가 켜져있는 hostname을 다른 서버들도 붙을 수 있는 ip로 보도록 하니 해결이 됐다. ..

Programming/Java 2016.04.05

HiBench 5.0 간략 설명

mvn package는 했다고 가정. * 데이터 사이즈 관련 설정 HiBench/conf/10-data-scale-profile.conf 를 확인하면 데이터 생성하거나 실행할때 쓰이는 요소들을 알 수 있다. (예: 데이터 제작시 사용되는 데이터 크기 관련 숫자들) * 여러 가지 클래스들 가령 나의 경우 Join 에 데이터 제작시 사용되는 HiBench.DataGen이 어디있는지 찾고싶었는데, 이 경우 HiBench/src/autogen/target/autogen-5.0-SNAPSHOT.jar 에 포함돼 있었다. 따라서 내가 직접 Join에 사용되는 데이터를 만들고 싶다면 hadoop jar autogen-5.0-SNAPSHOT-jar-with-dependencies.jar HiBench.DataGen -..

Programming/기타 2016.01.24

초간단 Maven local repository 만들기

준비물 : maven 3.x, nodejs (0.10.36 버전 사용) 1. 의존성으로 추가하고자 하는 jar 파일을 자신의 maven local repository(~/.m2/repository) 에 등록한다. from http://www.mkyong.com/maven/how-to-include-library-manully-into-maven-local-repository/ $ mvn install:install-file -Dfile={file-path} -DgroupId={group id}-DartifactId={artifactId} -Dversion={version} -Dpackaing=jar 가령 작성자의 경우는 원하는 파일을 다음과 같이 추가하였다: $ mvn install:install-fil..

Programming/Java 2016.01.07

IO Wait값에 대하여

The precise meaning of I/O wait time in Linux 예전부터 top과 같은 CPU 측정 프로그램에서 보이는 IO Wait값을 'CPU가 디스크 IO를 대기하고 있는 값' 이라고만 생각했고 세부사항에 대해 크게 신경쓰지 않았는데 내가 생각하지 못한 수치에 대한 실험까지 포함해서 제대로 설명된 링크. +)로 디스크에 대한 실험을 진행하면서 dstat을 통해 전체 디스크 사용량 및 IO Wait값만을 저장해놨는데 글들을 보다보니 iostat 유틸을 까먹고 있었다. IO Wait값만이 아니라 더 세부적인 데이터를 얻을 수 있을 것 같다.

Programming/Linux 2016.01.06

HBase Coprocessor의 예제를 응용한 Distributed Count와 Apache Phoenix의 Count문 비교

HBase의 공식 레퍼런스에 있는 Coprocessor 예제 를 더 단순화 시켜서 Count를 만들어 봤다. Github 주소 테스트로, 약 2GB, Row 당 크기는 약 20byte, 총 1억개를 가지고 있는 테이블을 각각 Apache Phoenix를 통해서, 혹은 내 스스로 나누어서 넣고 count를 실행해봤다. 실험에 사용한 노드가 10대라서 phoenix 테이블이나 hbase에 바로 넣은것이나 둘 다 region 구간은 동일하고 나누고 하나의 region당 1천개 씩 넣었다. hbase heap에 cache 되는것도 고려하여 총 10번씩 실행시켜 평균을 냈는데 phoenix는 약 6.51초, coprocessor는 11.43초가 나왔다. 아무래도 Apache phoenix에서는 단순히 endpoi..

Programming/Java 2015.12.21
반응형