전체 글
Apache Impala + Kudu Query
💡 Impala는 주로 분석 쿼리를 위해 설계되어 대량의 데이터에 대해 쿼리 실행과 결과 반환이 빠릅니다. 따라서, 데이터를 업데이트, 삭제하는 기능은 기본적으로 제공하지 않습니다. 그러나 Kudu와 Impala는 밀접하게 통합되어, 데이터를 삽입, 업데이트, 삭제가 가능하다. Kudu는 대용량 데이터를 처리하기 위해 설계된 스토리지 엔진 빠른 쿼리 성능과 데이터 무결성을 보장한다. 또한 독립적인 데이터 베이스로 사용이 가능하다. Kudu 독립적인 데이터베이스 사용 💡 독립적인 데이터 베이스로 사용 가능하나 1.7 기준 Table Create, Select만 확인 가능하다. Java, C++ 등과 함께 사용하면 CRUD 모두 가능하다. https://github.com/apache/kudu/tree/ma..
Kudu 독립적인 데이터베이스 사용
💡 독립적인 데이터 베이스로 사용 가능하나 1.7 기준 Table Create, Select만 확인 가능하다. Java, C++ 등과 함께 사용하면 CRUD 모두 가능하다. https://github.com/apache/kudu/tree/master/examples/java/java-example Kudu Master Server 접속 //Kudu Master Server Name 확인 $ docker ps $ docker exec -it docker-kudu-master-1-1 bash Kudu Table Create Select //Create //https://kudu.apache.org/docs/command_line_tools_reference.html#table-create 테스트 Json 제..
Yarn StoryBook 실행 Error #22431
에러 내용 /Projects/node_modules/wide-align/align.js:2 var stringWidth = require('string-width') ^ Error [ERR_REQUIRE_ESM]: require() of ES Module /Projects/node_modules/string-width/index.js from /Projects/node_modules/wide-align/align.js not supported. Instead change the require of index.js in /Projects/FPV/nextmission/node_modules/wide-align/align.js to a dynamic import() which is available in al..
Presto JDBC 연결
Presto JDBC https://mvnrepository.com/artifact/io.prestosql/presto-jdbc com.facebook.presto presto-jdbc 0.285 Presto JDBC 연결 확인 import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import java.util.Properties; public class Test { public static void main(String[] args) { try { String url = "jdbc:presto://ip:port"; Properties properties =..
Single Store JDBC 연결
JDBC LIB https://mvnrepository.com/artifact/com.singlestore/singlestore-jdbc-client com.singlestore singlestore-jdbc-client 1.2.1 Single Store 연결 확인 import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class test { public static void main(String[] args) { try { Connection connection = DriverManager.getConnection("jdbc:singlestore..
Hive Create Update Delete Select Table
하이브 서버에서 테이블 생성 $ docker exec -it [하이브서버] bash # 하이브 실행 # hive # 테이블 생성 hive> CREATE TABLE if not exists default.person( > pid INT, > name STRING, > language STRING, > gender STRING > ) > CLUSTERED BY (pid) into 1 BUCKETS > STORED AS ORC > LOCATION 'hdfs://[네임노드 이름]:[포트]/[폴더명]' > TBLPROPERTIES('transactional'='true'); OK Time taken: 1.378 seconds CLUSTERED BY (pid) into 1 BUCKETS 테이블은 pid라는 열을 기..
Hive Create External Table
💡 외부 파일 이용 테이블을 생성 및 데이터를 삽입 $ : docker 명령어 사용 # : hdfs, hive 명령어 사용(주석과 혼동X) 네임 노드 접속 # 도커에서 namenode 이름 찾기 # 추후 Hive Server 이름도 필요하니 찾아놓자 $ docker ps # namenode 접속 $ docker exec -it [네임노드명] bash 네임 노드에 폴더 만들기 # hdfs dfs -mkdir /[폴더명] 생성된 폴더는 http://IP:Port/explorer.html#/ 확인 가능 JSON 파일 SFTP 전송 테스트 JSON 데이터 작성한 파일 생성 // 공백, 개행 제거 {"1":{"full_name":"Hayward Yuille","language":"Swahili","gender":..
Hive JDBC 연결
Hive JDBC https://github.com/timveil/hive-jdbc-uber-jar/releases Releases · timveil/hive-jdbc-uber-jar Hive JDBC "uber" or "standalone" jar based on the latest Apache Hive version - timveil/hive-jdbc-uber-jar github.com Hive JDBC 연결 확인 import java.sql.*; public class test { private static String driverName = "org.apache.hive.jdbc.HiveDriver"; public static void main(String[] args) { try { Class...
useEffect no dependency
💡의존성 배열 전달 안할 시 모든 상황에서 실행되기에 불필요한 상황에서 실행될 가능성이 농후하므로 일반적으로 의존성 배열을 지정한다. 매개변수 / 의존성 컴포넌트가 DOM에 추가되면 실행되는 셋업 함수 컴포넌트가 DOM에 제거되면 실행되는 클린업 함수 (+의존성이 변경 되어 리렌더링 할 때) 셋업 함수 내 참조된 모든 변수와 함수로 의존성 변경시 리렌더링 과정을 거친다. useEffect(() => { //셋업 함수부 console.log('setup'); return () => { //클린업 함수부 console.log('cleanup'); } }, [의존성...]); useEffect 로직 기본 기본 컴포넌트 추가 > 셋업 함수 클린업 함수 추가 컴포넌트 추가 > 셋업 함수 > 컴포넌트 제거 > 클린..
Node WebSocket Server
const {WebSocketServer} = require("ws"); const wss = new WebSocketServer({ port: 8080 }); //연결 wss.on('connection', function connection(ws, request) { wss.clients.forEach(client => { client.send(`새로운 유저가 접속했습니다. 현재 유저 ${wss.clients.size} 명`) }) ws.on('error', console.error); //onmessage ws.on('message', function message(data) { wss.clients.forEach(client => { client.send(JSON.stringify(JSON.pars..