본문 바로가기

전체 글

(170)
Spark Dataframe, Dataset Dataframes 와 Datasets 에 대해 잘 설명해놓은 글 발견한 김에 메모. A Deep Dive Into Spark Datasets and DataFrames Using Scala 글 요약은 나중으로 미루고 메모 하는 김에. 덤 1. https://phoenixnap.com/kb/rdd-vs-dataframe-vs-dataset RDD DataFrame Dataset Release version Spark 1.0 Spark 1.3 Spark 1.6 Data Representation Distributed collection of elements. Distributed collection of data organized into columns. Combination of RDD and DataF..
[Java]Spring Cloud Stream 에서 Kafka 메시지 헤더 이용하는 방법 외 Kafka 메시지 처리를 위해 Spring Cloud Stream 을 이용하고 있고 Spring Cloud Stream 3.* 대로 올리면서 functional style 로 기존 소스 수정했었던 얘기 예전에 간단하게 적은 적 있었었다. 메시지 추가된게 있어서 간만에 코딩하게 되었는데 기존 메시지 포맷과 다른 몇 가지 점(json 배열 타입, nested 구조 등) 있어서 관련해서 메모해본다. 기존 메시지 포맷 { "key1": "val1", "key2": "val2", ... } 추가된 메시지 포맷 [ { "key1": "val1", "key2": "val2", "group1" : { ... }, "group2": { ... }, ... }, { "key1": "val1", "key2": "val2",..
[Julia]DataFrame 이용한 간단한 데이터 조작 예 작업 요청이 하나 들어 왔는데 이전이라면 java 나 python 으로 할 일이지만, 연휴에 가볍게 Julia 자료본 후에 다시 접할 기회 못 잡았던지라 learn by doing 차원에서 julia 로 간단히 구현 도전해봤다. DataFrames 을 이용하여 데이터 처리를 해봤고 대량 데이터 DB 저장을 위해 pandas 의 to_sql 과 같은 함수 찾아보았으나 결국 못 찾고 페북의 julia korea 채널에서 도움 받아 간단히 구현했다. 본론으로 들어가서 가령 작업해야할 전체 데이터 중 shop_id : LA-12019, work_id : 103 인 건들만 추출한게 아래와 같다고 해보자(원래 요건을 설명하기 쉽게 변형한거라 컬럼명이나 구현 함수명 등이 쌩뚱 맞은건 양해해주시길). shop_id w..
[Julia]첫 공부는 이런 식으로 어떨런지 한가위 연휴 끄트머리에 뒹굴거리기도 지쳐 잠깐 Julia 맛보기 시도했는데 막 도전 시작해보려는 분들 위해 그래도 간단히 경험(?) 메모해봅니다. 어떤 IDE 쓸건가 처음에 늘 고민인데 온라인 매뉴얼 등에서는 보통 juno 또는 JuliaPro 부터 얘기하지만(둘 모두 Atom 기반) 이것들 거의 개발 중단하고 VS Code 확장 기능 쪽으로 가는 분위기이므로 선택지는 VS Code 나 jetbrains IDE 중 아무거에서나 julia 확장 기능 설치하는 방식 아니면 jupyter lab 에 julia 커널 추가해서 사용하는 방법으로 시작. https://julialang.org/learning/notebooks/ 에 보면 동영상 강좌들 목록 있습니다. Jane Herriman 이 진행하는 'Intro..
[julia]Decimal to Binary conversion julia 에서 십진수를 이진수로 변환하는 간단한 방법. string(n, base=2)) 그런데, 이걸 재귀함수로 재미나게 구현해 놨네요('Julia Bit by Bit' 중에서). function decToBin(n) if n > 0 decToBin(n ÷ 2) print("$(n % 2)") end end 조금 더 읽어본 김에 거듭제곱도 한 번. function power(x, n) pow = 1 if n > 0 n += 1 end for h = 2:n pow = pow * x end pow end function power1(x, n) if n == 0 return 1 end y = power1(x, n ÷ 2) y *= y if n % 2 == 0 return y end x * y end for..
r2dbc, DatabaseClient 첫 테스트 r2dbc 가 제공하는 녀석 중에 DatabaseClient 란게 있다는 걸 알게 되었는데 검색해서 처음 나온 샘플이 kotlin 으로 된 거라 재미 삼아 기존 자바 프로젝트에 쑤셔 넣어봤다. @RestController class MessageController (val dataBaseClient: DatabaseClient) { @GetMapping("/machs") fun get() = dataBaseClient.sql("select * from evt_mach") .map { t, u -> EvtMachRes(t.get("MACH_ID", String::class.java)!!, t.get("MACH_TP_CD", String::class.java)!!) } .all() } @JsonIgnoreP..
[Python, Rust]ConnectorX - load data from DBs in the fastest and most memory efficient way. https://github.com/sfu-db/connector-x 'ConnectorX enables you to load data from databases into Python in the fastest and most memory efficient way.' Rust 로 구현된 데이터 로딩 라이브러리. 문서만으로 보면 성능이 ... 문서화가 아직은 많이 부족. mariaDB만 일단 테스트 해봤는데 db uri 에 옵션 설정은 직접 안됨. 문서가 부족하니 다른 설정 방법이 있는지 아직 잘 모르겠음. read_sql 에서 컬럼값이 null 일 때 에러 발생(임시 방편으로 query 에서 ifnull 함수 쓰면 되긴 하지만) GitHub - sfu-db/connector-x: Fastest librar..
[Java]r2dbc 첫 테스트 마리아디비에서 포스그레로 넘어 가보려고 테스트 시작하는 김에 r2dbc 도 도전해보는 중. 처음이니 일단 무조건 돌아가게만 해보자는 각오로 삽질 시작. 삽질 메모 간단하게, 정확한 설명은 추후에 ... saveAll 쓸 때는 Flux 타입 리턴 값 지정해주어야 한다고 어디서 보고 그리 했는데 아무 짓을 안한다. repo.saveAll(..).subscribe(); 이런 식으로 subscribe() 해주니 동작은 하는데 이거 왜 되는지는 아직 모름. 'Reactive Relational Database Connectivity'니 subscribe 한 번 쯤 나와주는게 당연한거다라고 자위하고 곧장 고. 뭐 목표는 이해 보다 실행이니(고민보다 고!) 학습은 후에. saveAll 시 'Required ident..