본문 바로가기

DB

(29)
[Tableau] 날짜 필드 변환하기 hive상 데이터는 20170725 와 같은 문자열이다.문자열로만으로 열로 이용할 수 있지만 문제는 분기나 월 같은 단위로 그룹핑을 할 때 제한이 생긴다.그래서 필드를 열로 변환을 할 필요가 있다. 왼쪽의 dt 라는 컬럼이 원래 있는 값인데 Abc 즉 문자열로 인식되고 있다. 그 옆에는 계산이라고 되어 있어서 dt를 기반으로 날짜로 변환을 해주었다. 계산식은 아래와 같다.DATEPARSE("yyyyMMdd",[dt])dt의 형식대로 앞에 써주고 두 번째 파라메터에는 적용할 열을 써주었다.포맷이 다를 경우 아래 링크를 참고하면 된다. https://onlinehelp.tableau.com/current/pro/desktop/ko-kr/dates_custom_date_formats.html 만약 증분 데이터..
[BI] Tableau Desktop 10.3.1 Mac OS X용 Step by step 사실은 다음 단계로만 넘어가면 되는데, 나중을 위해 스텝별로 캡쳐를 해두었다. 1) dmg 파일을 마운트 하고2) 인트로 화면3) 라이센스 고지4) 라이센스 동의5) 설치 위치 지정6) 설치, 이 단계에서 설치 권한 요청 한다. (Mac OS X 암호 입력 필요함) 7 ) 설치 완료 애플리케이션을 실행하면 라이센스 키가 있다면 아래와 activation으로 이동하면 된다.라이센스 키를 입력하면 등록하는 과정이 나오는데 별로 중요하지 않다고 한다. 이제부터 시작이다. 튜토리얼시작하기- https://www.tableau.com/ko-kr/learn/tutorials/on-demand/getting-started?edition=pro&version=10.3.1&__full-version=10300.17.06..
[빅데이터] 우지 링크 http://blog.naver.com/gyrbsdl18/203011954 우지 워크플로우를 만들어서 코디네이터로 실행을 시킨다.코디네이터에서 파라메터를 지정할 수 있는데 전날 날짜를 넣어야 해서... 당일:${coord:formatTime(coord:dateTzOffset(coord:nominalTime(), "Asia/Seoul"), 'yyyyMMdd')}전날:${coord:formatTime(coord:dateTzOffset(coord:dateOffset(coord:nominalTime(), -1, 'DAY'), "Asia/Seoul"), 'yyyyMMdd')}
[BI] Hive Tips Hadoop and Hive : How to create table/partition in Hive (어떻게 Hive에서 테이블과 파티션을 만드는가?) Cron : 리눅스 반복 예약작업 cron, crond, crontab (배치 작업에 대한 형식) 파티션특정 파티션 제거ALTER TABLE daily_conversion_managed DROP IF EXISTS PARTITION(dt=20170715) 지원하는 내장함수 목록 보기SHOW FUNCTIONS;https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF
[MySQL] 피벗 - 로우 데이터를 컬럼으로 옮기기 날마다 로그에서 데이터를 가져와서 DB에 넣어야 하는 배치성 쿼리를 짜고 있었다.group by를 하는 쿼리가 있다보니 데이터가 row 단위로 나오는데, 문제는 일자별 조회를 하려면 row별로 있는 데이터가 컬럼으로 가야 하는 문제가 발생했다. 문제를 쉽게 하기 위해 예를 들면,+------------+-----------+---------+| baseDt | page | value |+------------+-----------+---------+| 2017-04-13 | A | 10 |+------------+-----------+---------+| 2017-04-13 | B | 20 |+------------+-----------+---------+| 2017-04-13 | C | 30 |+---..
여러 데이터 합치기 (attach 명령) 동일한 데이터가 들어있는 sqlit3 db 파일이 있다.하나로 합치려고 하는데 어떻게 하면 되나? 1. 우선은 합칠 파일을 생성한다.# sqlite3 2016-08_ux_behavior_log.db2. .schema 명령으로 합칠 DB 테이블 생성한다.다른 콘솔에서# sqlite3 2016-08-01_ux_behavior_log.dbsqlite> .schemaCREATE TABLE log (user INT, time DATETIME, server TEXT, thread TEXT, checkoutId INT, page TEXT, action TEXT, vals TEXT,before TEXT, beforeType TEXT, changed TEXT, current TEXT, currentType TEXT, v..
group by를 특정 값을 기준으로 누적하고 싶을 때... GROUP_CONCAT DB로 로그를 쌓고 있다. 사용자별로 어떤 페이지에 방문했는지 기록을 한다고 가정하자. 스키마는 단순하게 아래와 같이 컬럼으로 되어 있다고 치자. time, user, page 특정 사용자가 시간 순서대로 어떤 페이지에 방문을 했는지 보고 싶다. 이해를 돕기 위해 샘플 데이터를 해보면, raw데이터는 아래와 같이 행으로 되어 있다. time, user, page 07:33,A,login 07:34,A,mypage 07:40,A,changeForm 07:50,A,completeForm 07:55,A,logout 08:22,B,login 08:25,B,searchForm 08:26,B,readArticle 보고 싶은 데이터의 형태는 A, login-> mypage-> changeForm-> completeF..
MS SQL Server 2012에서 생긴 Sequence 써야할까? MS SQL Server 2012에 시퀀스가 추가 되었다.오라클이나 PostgreSQL에서는 자동증가 컬럼을 위한 객체로 시퀀스라는 것을 가지고 있다.MS SQL에는 Identity를 가지고 있어서 자동증가 필드로 지정이 가능하다. 이것에 대한 일반적인 사항은 '엑셈(EXEM)의 기술백서'에서 잘 다루고 있으니 참고하면 될 것 같고 궁금한 점은 Identity가 Sequence에 비해 동시성 문제가 발생할 가능성이 있느냐는 것이다.우리 부서의 전직 오라클 DBA를 했던 분은 대량의 데이터를 넣는 테이블에 자동증가컬럼을 사용할 경우 최종 값을 찾기 위해서 계속 검색을 해야 하기 때문에 검색하는 동안에 LOCK이 발생한다고 알고 있었다. 좀 오래되었지만 SQL Server 2005 시대(2006년 4월) 작..