From 779ed84e366ae320b98e72b4dc44593bae243e08 Mon Sep 17 00:00:00 2001 From: yuqi Date: Thu, 6 Mar 2025 15:02:02 +0800 Subject: [PATCH 1/3] fix --- dev/docker/hive/start.sh | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/dev/docker/hive/start.sh b/dev/docker/hive/start.sh index ca5698faa65..1ddbf720cff 100644 --- a/dev/docker/hive/start.sh +++ b/dev/docker/hive/start.sh @@ -69,6 +69,8 @@ if [[ -n "$SERVICE_ACCOUNT_FILE" ]]; then sed -i "s|SERVICE_ACCOUNT_FILE|${SERVICE_ACCOUNT_FILE}|g" ${HIVE_CONF_DIR}/hive-site.xml fi +sed -i "s/useSSL=false/useSSL=false&characterEncoding=utf8&useUnicode=true/g" ${HIVE_CONF_DIR}/hive-site.xml + # Link mysql-connector-java after deciding where HIVE_HOME symbolic link points to. ln -s /opt/mysql-connector-java-${MYSQL_JDBC_DRIVER_VERSION}/mysql-connector-java-${MYSQL_JDBC_DRIVER_VERSION}.jar ${HIVE_HOME}/lib @@ -165,6 +167,14 @@ echo """ CREATE DATABASE hive; """ | mysql --user=root --password=${MYSQL_PWD} + +# change charset + +set -i 's/CHARACTER SET latin1 COLLATE latin1_bin/CHARACTER SET utf8mb4 COLLATE utf8mb4_bin/g' ${HIVE_HOME}/scripts/metastore/upgrade/mysql/hive-schema-2.3.0.mysql.sql +set -i 's/CHARSET=latin1/CHARSET=utf8/g' ${HIVE_HOME}/scripts/metastore/upgrade/mysql/hive-schema-2.3.0.mysql.sql +set -i 's/varchar(4000)/text/g' ${HIVE_HOME}/scripts/metastore/upgrade/mysql/hive-schema-2.3.0.mysql.sql +set -i 's/varchar(767)/text/g' ${HIVE_HOME}/scripts/metastore/upgrade/mysql/hive-schema-2.3.0.mysql.sql + # start hive echo "Starting Hive..." ${HIVE_HOME}/bin/schematool -initSchema -dbType mysql From af416bfdaa3918107fa1709b51e4d878485878fb Mon Sep 17 00:00:00 2001 From: yuqi Date: Thu, 6 Mar 2025 21:45:03 +0800 Subject: [PATCH 2/3] fix --- dev/docker/hive/start.sh | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/dev/docker/hive/start.sh b/dev/docker/hive/start.sh index 1ddbf720cff..af389d04076 100644 --- a/dev/docker/hive/start.sh +++ b/dev/docker/hive/start.sh @@ -69,7 +69,7 @@ if [[ -n "$SERVICE_ACCOUNT_FILE" ]]; then sed -i "s|SERVICE_ACCOUNT_FILE|${SERVICE_ACCOUNT_FILE}|g" ${HIVE_CONF_DIR}/hive-site.xml fi -sed -i "s/useSSL=false/useSSL=false&characterEncoding=utf8&useUnicode=true/g" ${HIVE_CONF_DIR}/hive-site.xml +sed -i "s/useSSL=false/useSSL=false\&characterEncoding=utf8\&useUnicode=true/g" ${HIVE_CONF_DIR}/hive-site.xml # Link mysql-connector-java after deciding where HIVE_HOME symbolic link points to. ln -s /opt/mysql-connector-java-${MYSQL_JDBC_DRIVER_VERSION}/mysql-connector-java-${MYSQL_JDBC_DRIVER_VERSION}.jar ${HIVE_HOME}/lib @@ -178,6 +178,16 @@ set -i 's/varchar(767)/text/g' ${HIVE_HOME}/scripts/metastore/upgrade/mysql/hive # start hive echo "Starting Hive..." ${HIVE_HOME}/bin/schematool -initSchema -dbType mysql +echo """ + alter table DBS modify column \`DESC\` varchar(4000) character set utf8mb4 collate utf8mb4_bin; + alter table COLUMNS_V2 modify column COMMENT varchar(256) character set utf8mb4 collate utf8mb4_bin; + alter table TABLE_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8mb4 collate utf8mb4_bin; + alter table PARTITION_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8mb4 collate utf8mb4_bin; + alter table PARTITION_KEYS modify column PKEY_COMMENT varchar(4000) character set utf8mb4 collate utf8mb4_bin; + alter table INDEX_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8mb4 collate utf8mb4_bin; + alter table PARTITIONS modify column PART_NAME varchar(757) character set utf8mb4 collate utf8mb4_bin; +""" | mysql --user=root --password=${MYSQL_PWD} -Dmetastore_db + ${HIVE_HOME}/bin/hive --service hiveserver2 > /dev/null 2>&1 & ${HIVE_HOME}/bin/hive --service metastore > /dev/null 2>&1 & From 8d455f2bc0a924b6cc700bd7a6dbd5f2010dbef3 Mon Sep 17 00:00:00 2001 From: yuqi Date: Thu, 6 Mar 2025 21:50:52 +0800 Subject: [PATCH 3/3] fix --- dev/docker/hive/start.sh | 8 -------- 1 file changed, 8 deletions(-) diff --git a/dev/docker/hive/start.sh b/dev/docker/hive/start.sh index af389d04076..d6b4361402c 100644 --- a/dev/docker/hive/start.sh +++ b/dev/docker/hive/start.sh @@ -167,14 +167,6 @@ echo """ CREATE DATABASE hive; """ | mysql --user=root --password=${MYSQL_PWD} - -# change charset - -set -i 's/CHARACTER SET latin1 COLLATE latin1_bin/CHARACTER SET utf8mb4 COLLATE utf8mb4_bin/g' ${HIVE_HOME}/scripts/metastore/upgrade/mysql/hive-schema-2.3.0.mysql.sql -set -i 's/CHARSET=latin1/CHARSET=utf8/g' ${HIVE_HOME}/scripts/metastore/upgrade/mysql/hive-schema-2.3.0.mysql.sql -set -i 's/varchar(4000)/text/g' ${HIVE_HOME}/scripts/metastore/upgrade/mysql/hive-schema-2.3.0.mysql.sql -set -i 's/varchar(767)/text/g' ${HIVE_HOME}/scripts/metastore/upgrade/mysql/hive-schema-2.3.0.mysql.sql - # start hive echo "Starting Hive..." ${HIVE_HOME}/bin/schematool -initSchema -dbType mysql