본문 바로가기

퍼셉트론(Perceptron) 알고리즘 - 다수의 신호를 입력으로 받아 하나의 신호를 출력 - '흐른다/흐르지않는다'(1/0)으로 구분 - 입력 신호가 뉴런에 보내질 때에 고유한 가중치가 곱해짐 - 뉴런에서 보내온 신호의 총합이 정해진 한계를 넘어설 때만 1을 출력 - 한계를 임계값이라고 하며 θ 로 표현함 - 복수의 입력 신호 각각에 고유한 가중치를 부여. 가중치는 신호가 결과에 주는 영향력을 조절하는 요소로 작용 - 가중치가 클수록 신호가 더 중요하다! - Python으로 간단하게 구현해보기 def AND(x1, x2): w1, w2, theta = 0.5, 0.5, 0.7 tmp = x1*w1 + x2*w2 if tmp theta: return '1' def OR(x1, x2): w1, w2, theta = 0.5, 0.5, 0.4 tm..
ERROR ) NiFi due to java.net.ConnectException: Connection refused Error NiFi를 실행했을 때 제대로 실행되지 않고 중간에 죽는 일이 발생한다. 로그를 살펴보면 다음과 같은 에러가 있다. ERROR [main] org.apache.nifi.NiFi Failure to launch NiFi due to java.net.ConnectException: Connection refused (Connection refused) 누가봐도 환경설정이 잘못되어서 생기는 오류같다. vi /opt/hadoop/nifi-1.9.2/./conf/nifi.properties 로 가서 설정을 살펴본다. (NiFi는 원래 추가로 설정을 하지 않아도 자동으로 실행된다) 이럴 때 크게 의심해야 할 친구들은 1. 방화벽 2. HOST 이다. 구원의 여지없이 방화벽을 꺼주고 hosts에 들어가 localho..
NiFi 활용기 ) Oracle과 Hive 연결 (실패기) [중요] Oracle 연결을 해봤으니 이제 HIVE를 연동하여 원하는 정보를 담은 테이블을 옮겨본다. 1. Hive? Hadoop은 System이 많아서 참 헷갈리는데, Kafka나 Zookeeper Sqoop과 같은 대부분의 친구들은 목적이 명확하고 사용법이 잘 명시되어 있어서 이해하기가 쉽다. 하지만 유독 Hadoop DB라는 Hive, Impala나 Spark, Presto 친구들은 무슨 말 하는지도 잘 모르겠고(내가 빡대가리라서?ㅎ) 정확한 사용법도 잘 모르겠다. 그래서 찾아봄. 일단 HDFS에 대해 이해가 필요하다. 분산 환경에 데이터를 저장하는 기능인데 직접 구성해봤다면 이해하기 편하다. Master + Slave 구조에서 하나의 파일을 특정 사이즈로 분리한 뒤 N개로 복제하여 분산 환경에 저..
NiFi 활용기 ) NiFi와 Oracle 연동하기 사이드 시나리오 Python을 이용하여 네이버 실시간 검색어를 크롤링하게 한다. Cron 혹은 다른 스케줄을 이용하여 분 당 데이터를 ORACLE에 쌓도록 한다. 이렇게 하면 하루에 대략 28,800개의 Keyword 데이터가 쌓인다. 적재한 데이터를 필요에 따라 HIVE나 SPARK에 옮겨준다. HDFS는 덤 선택 기간에 따라 가장 많이 언급된 키워드, 언급된 키워드들이 어떠한 공통점을 가지고 있는지 분석하도록 한다. 그중 한 키워드를 선택하면 기간에 따라 네이버 블로그를 일정 량 크롤링하여 단어 분석을 한다. 2단계까진 파이썬 내에서 구축하고 쉘로 돌려주면 된다. 하지만 3단계에서 데이터를 어떻게 가져올지 선택해야 했다.. 사실 SQOOP을 사용하면 쉽고 간편하지만 데이터의 흐름을 보고 싶으니 NiF..
CentOS7에서 Oracle 연동 오류 cx_Oracle.DatabaseError: DPI-1047: Cannot locate a 64-bit Oracle Client library: "libclntsh.so: cannot open shared object file: No such file or directory". See https://oracle.github.io/odpi/doc/installation.html#linux for help 1. Oracle Client를 설치한다. [이 곳]에서 받을 수 있다. 2. unzip 명령어로 압축을 해제한다. 3. libaio를 다운로드 받는다. 4. 적당한 위치로 옮긴다. 5. PATH에 등록해준다. 6. DB 연결정보를 담고 있는 tnsname.ora 파일을 만들어주고 PATH에 등록한다. #..