Apache Hive - Phoenix에 연동하는 External Hive Table 생성 오류 (NoSuchColumnFamilyException)
·
DataPipeline/Hive
[ 에러메세지 ] Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:org.apache.hadoop.hbase.regionserver.NoSuchColumnFamilyException: Column family table does not exist in region hbase:meta,,1.1588230740 in table 'hbase:meta', {TABLE_ATTRIBUTES => {IS_META => 'true', REGION_REPLICATION => '1', coprocessor$1 => '|or..
Apache Hive - Serde가 적용된 테이블 컬럼 추가&변경
·
DataPipeline/Hive
Hive Table Column Add는 Table에 서데가 적용되어 있으면 수행할 수 없다. Column Replace 또한 마찬가지. 1. 새로운 스키마로 Hive Table을 만든다. 2-1. 기존에 있던 파티션을 새 Table의 파티션으로 수정한다. Ex. Alter Table [테이블명] Partition (yymmdd='20210321') Set Location 'hdfs://127.0.0.1/user'; 2-2. 새 테이블의 빈 파티션을 생성한 후, 기존 테이블의 서데파일(000000_0)을 새 테이블 파티션 위치로 옮긴다. Ex. sudo -u hdfs hdfs -dfs cp /user/hive/old../ /user/hive/new..../ 그외 유용한 커멘드 * 테이블 정보 위치 확인 ..
Apache Phoenix - EMR Phoenix 설정(NamespaceMapping)
·
DataPipeline/Phoenix
EMR Phoenix사용중에 같은 테이블명의 QA환경, 개발환경을 구분하여 구현해야 할 때가 있다. Phoenix 스키마를 사용하여 QA.TEST_TABLE DEV.TEST_TABLE 과 같이 구분시킨다. [ 1 ] 위와 같이 사용하기 위해선 네임스페이스 관련 hbase-site.xml설정을 해야하는데 Hbase의 Master, Region서버 모두 설정값을 수정한다. sudo vi /usr/lib/hbase/conf/hbase-site.xml [ 네임스페이스 관련 ] phoenix.schema.isNamespaceMappingEnabled true phoenix.schema.mapSystemTablesToNamespace true [ 성능관련 ] phoenix.functions.allowUserDefi..
Zookeeper - Error Unable to load database on disk
·
DataPipeline/Zookeeper
[ ERROR 1 ] zookeeper.out 파일은 zookeeper server의 로그내역을 포함한 파일이다. 해당파일의 크기가 커지면서 디렉토리의 파일사이즈 가용량이 넘어서 bash: cannot create temp file for here-document: No space left on device 에러메세지가 뜬다. [ 해결 1 ] 아래 파일로 설정값을 변경한다. /zookeeper/conf/log4j.properties log4j.rootLogger=INFO, ROLLINGFILE log4j.appender.ROLLINGFILE.File=${zookeeper.log.dir}/zookeeper.log log4j.appender.ROLLINGFILE.MaxFileSize=10MB log4j.ap..
Apache Phoenix - Thick Server 접속 Java예제코드
·
DataPipeline/Phoenix
package com; import java.sql.*; import java.util.HashMap; public class App { private static Connection connect; private static Statement statement; private static PreparedStatement preparedStatement; private static ResultSet resultSet; private static String serverURL; static { connect = null; statement = null; preparedStatement = null; resultSet = null; serverURL = "jdbc:phoenix:12.234.56.78:218..
Apache Phoenix - 기존 HBase테이블과 맵핑
·
DataPipeline/Phoenix
기존 HBase 테이블에 Phoenix 테이블을 매핑하는 법은 기존에 있는 HBase 테이블과 똑같은 이름의 Phoenix테이블 또는 뷰를 생성한다. 또한 두 테이블 컬럼의 자료형이 일치해야하는데, 특히 숫자의 경우 Hbase와 Phoenix의 표현방식이 다르므로 표현되기 어렵다. "Phoenix will flip the first bit so that negative values will sort before positive values. Because HBase sorts row keys in lexicographical order and negative value’s first bit is 1 while positive 0 so that negative value is ‘greater than’ p..
Apache Nifi - Kafka to HBase
·
DataPipeline/Nifi
[ 아키텍처 ]Kafka -> Nifi -> HBase -> Python으로 데이터 Fetch   [ Kafka ]카프카의 토픽명과 컨슈머그룹명을 정해 데이터를 받는다.  [ Nifi ]아래와 같은 프로세스 플로우로 구성할 수 있다. ConsumerKafka에 토픽명과 그룹명을 설정값으로 입력한다UpdateAttribue와 ReplaceText는 해당 데이터가 나이파이에 적제되는 시간을 입력하기 위함이므로 생략가능하다.PutHBaseJson에 HBase TableName, Row Identifier, Column Family값을 입력한다.네임스페이스가 있다면 NS:TableName과 값이 입력한다.Row Identifier값은 로우키가 되므로 유니크한 값으로 설정한다. 예시에선 $(createdAt}_$..
Apache Hive - 날짜관련 함수
·
DataPipeline/Hive
1. 날짜 포맷 변환from_unixtime(bigint unixtime, string format)return 값 : stringunix타임스탬프 값을 정해진 날짜형식에 맞추어 출력한다.- select from_unixtime(1323308938, 'yyyy-MM-dd') from dual;20210101포맷을 2021-01-01포맷으로 날짜형식변환도 가능하다.- select from_unixtime(unix_timestamp('20210101, 'yyyyMMdd'), 'yyyy-MM-dd') from dual; 2. 특정 날짜 값 가져오기날짜 부분만 리턴select to_date('2021-01-13 10:11:34') from dual;-> 2021-01-13연도 부분만 리턴select year('..
wave35
'DataPipeline' 카테고리의 글 목록 (8 Page)