glue schema와 다른 데이터가 왔을 때 조치한 썰
·
AWS
상황최근에 신규 데이터 요청이 들어왔다. 요청이 올 때 엑셀로 각 컬럼명과 타입 그리고 컬럼설명이 포함되어 온다. RDB가 아닌 테이블이라 다른 요청 사항은 없다. 사용자의 요청대로 생성을 하였고 테스트 데이터를 요청하였다. 그런데 요청한 측에서 타입이 맞지 않다고 했다. 에러내용은 다음과 같았다.awsathena error : HIVE_BAD_DATA Field day's type BINARY in parquet file ${s3_path} is incompatible with type timestamp(3) defined in table schema요약하자면 timestamp 타입을 가진 컬럼이 있는데, 해당 컬럼은 현재 BINARY로 들어와있다는 것이다. 참고로 우리는 최종 데이터를 parquet ..
문자열 비교할 때 equls와 == 의 차이는 무엇일까?
·
JAVA
상황회사에서 이메일을 발신하는 기능이 있다.원래는 등록자와 담당자에게만 갔는데, 처리자에게도 발신하도록 하는 기능을 추가하기로 하였다.추가를 하면서 이전 값과 새로운 값 즉 문자열에 대해 비교를 하여 분기를 해야하는데 equals가 아닌 == 으로 했더니 내가 원하던 조건이 성립되지 않았다.원인 파악chatGpt에 물어봤더니 아래와 같이 답해줬다.복사하기 붙혀넣기가 아닌 일부 내용만 발췌해서 적었다.== 연산자기본 자료형(int, char, boolean 등)은 값을 비교한다객체에서는 참조(메모리 주소)를 비교한다.즉, 두 객체가 동일한 메모리 주소를 가리킬 때만 true를 반환String a = new String("hello");String b = new String("hello");System.ou..
Glue Cli로 테이블 생성 시 mismatched input 'external' 에러 조치한 썰
·
AWS
상황회사에서 테이블 신규 요청이 오면 엑셀로 요청이 온다.그런데 요청 온 엑셀은 가지각색이라 우리의 엑셀 형태에 맞춰서 다시 작성한 뒤 파이썬으로 Hql 파일을 생성한다.평상 시에 잘 사용하던 스크립트였는데, 오늘 실패가 되어 확인해보니 처음 마주했던 에러였다.line 1:8: mismatched input 'external'. expecting: 'or', 'schema', 'table', 'view’원인 파악우리가 생성하는 테이블은 Glue에서 생성하고 location은 S3로 되어있다.그래서 external을 사용한다.external 키워드를 뺄 문제가 아니다.그러면 무엇이 문제일까?사용자에게 받은 엑셀에서 컬럼명, 컬럼 타입, 컬럼설명은 그대로 붙혀넣었기 때문에 이 3가지를 중점으로 먼저 체크했다..
[Git] failed to push some refs to 에러 원인 및 해결방법
·
Git
원인파악형상 관리 시스템인 git을 사용하면 여러명이 한 개의 프로젝트를 참여할 수가 있다.그래서 git을 사용하면 다른 사람과의 소스 충돌이 발생하는 경우가 있다.git push origin mastergit에 add도 하고 commit도 하고 이제 push를 하려고 한다.이 때 아래와 같은 상황이 발생하는 경우가 있다.// ${git_src} 는 회사 git 소스라서 변수로 바꿔서 표현했다.To ${git_src} ! [rejected] master -> master (fetch first)error: failed to push some refs to ${git_src}hint: Updates were rejected because the remote contains work that..
[JPA] jdbc:h2:mem:testdb 안될 때
·
JAVA
안녕하세요 성장형개발자입니다.문제JPA를 책을 보면서 따라하던 중에 h2 database를 사용하려고 했습니다.책에서는 JDBC URL : jdbc:h2:mem:testdb 으로 설정하라고 해서, 그대로 진행을 했는데 실패가 되었습니다.과정위와 같은 문제 발생하여 구글링을 해보니 보안에 따른 이슈로 인해 책에 나온 버전과 현재 버전이 상이하여 발생하였습니다.// 참고 -> https://velog.io/@lehdqlsl/spring-boot-h2-memtestdb-not-found-%EB%AC%B8%EC%A0%9C해결저는 application.property에 추가를 해서 진행하였고, 정상 작동되었습니다.spring.jpa.show_sql=truespring.h2.console.enabled=truesp..