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