Mysql 메타데이터가 Hive 테이블 생성 명령문 주석 스크립트를 생성하는 방법 정보

小云云
풀어 주다: 2017-12-22 14:18:11
원래의
2357명이 탐색했습니다.

최근에는 Mysql 및 기타 관계형 데이터베이스에서 Hive 테이블로 데이터를 추출할 때 MySQL 테이블의 주석을 동기화해야 합니다. 다음 스크립트를 사용하면 Hive 테이블 필드 주석 수정 문을 생성할 수 있습니다. 주로 Mysql 메타데이터가 Hive 테이블 생성 명령문 주석 스크립트를 생성하는 방법에 대한 관련 정보를 샘플 코드를 통해 자세히 소개합니다. 필요한 모든 사람의 학습이나 작업에 대한 특정 참조 학습 가치가 있습니다. 아래 지침을 함께 배워보겠습니다.

참고: oracle과 같은 다른 관계형 데이터베이스도 동일한 아이디어를 통해 메타데이터를 읽고 스크립트 구문을 수정하여 구현할 수 있습니다.

사용:

mysql 메타데이터 데이터베이스에서 다음 문을 실행합니다. information_schema


SELECT CONCAT('alter table ', TABLE_NAME, ' CHANGE COLUMN ', COLUMN_NAME, ' ', COLUMN_NAME, ' ', DATA_TYPE, ' comment ', '"', COLUMN_COMMENT, '"', ';')
FROM (SELECT TABLE_NAME, COLUMN_NAME, CASE WHEN DATA_TYPE = 'varchar' THEN 'string' WHEN DATA_TYPE = 'int' THEN 'int' WHEN DATA_TYPE = 'tinyint' THEN 'tinyint' WHEN DATA_TYPE = 'decimal' THEN 'double' WHEN DATA_TYPE = 'datetime' THEN 'string' WHEN DATA_TYPE = 'timestamp' THEN 'string' WHEN DATA_TYPE = 'float' THEN 'double' WHEN DATA_TYPE = 'double' THEN 'double' WHEN DATA_TYPE = 'bigint' THEN 'bigint' END AS DATA_TYPE, COLUMN_COMMENT
FROM COLUMNS
WHERE TABLE_NAME = 'o_oms_statistic_profit'
) t;
로그인 후 복사

Mysql 및 기타 관계형 데이터베이스에서 데이터를 Hive 테이블로 추출할 때 mysql의 주석을 동기화해야 합니다. table 에서 다음 스크립트는 hive create table 문을 생성할 수 있습니다. 하이브 테이블의 주요 필드 정보만 생성되며, 그 외의 정보는 수동으로 추가해야 합니다.

mysql 메타데이터 데이터베이스에서 다음 문을 실행합니다. information_schema


SELECT CONCAT('create table ', TABLE_NAME, '(', substring(column_info, 1, length(column_info) - 1), ')', ' comment ', '"', TABLE_COMMENT, '"', ';')
FROM (SELECT TABLE_NAME, TABLE_COMMENT, group_concat(CONCAT(COLUMN_NAME, ' ', DATA_TYPE, ' comment ', '"', COLUMN_COMMENT, '"')) AS column_info
FROM (SELECT t1.TABLE_NAME, CASE WHEN t2.TABLE_COMMENT = NULL THEN t1.TABLE_NAME ELSE t2.TABLE_COMMENT END AS TABLE_COMMENT, COLUMN_NAME, CASE WHEN DATA_TYPE = 'varchar' THEN 'string' WHEN DATA_TYPE = 'int' THEN 'int' WHEN DATA_TYPE = 'tinyint' THEN 'tinyint' WHEN DATA_TYPE = 'decimal' THEN 'double' WHEN DATA_TYPE = 'datetime' THEN 'string' WHEN DATA_TYPE = 'timestamp' THEN 'string' WHEN DATA_TYPE = 'float' THEN 'double' WHEN DATA_TYPE = 'double' THEN 'double' WHEN DATA_TYPE = 'bigint' THEN 'bigint' END AS DATA_TYPE, CASE WHEN COLUMN_COMMENT = NULL THEN COLUMN_NAME ELSE COLUMN_COMMENT END AS COLUMN_COMMENT
FROM COLUMNS t1 JOIN TABLES t2 ON t1.TABLE_NAME = t2.TABLE_NAME
WHERE t1.TABLE_NAME = 'o_oms_statistic_profit'
) t3
GROUP BY TABLE_NAME, TABLE_COMMENT
) t4;
로그인 후 복사

관련 권장 사항:

MySQL 메타데이터란 무엇입니까? 메타데이터 및 예제 코드 소개

MySQL 메타데이터 기반 Hive 설치 및 간단한 테스트

[MySQL] 메타데이터 획득 단계

위 내용은 Mysql 메타데이터가 Hive 테이블 생성 명령문 주석 스크립트를 생성하는 방법 정보의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿