This is an automated email from the ASF dual-hosted git repository.

jshao pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/gravitino.git


The following commit(s) were added to refs/heads/main by this push:
     new 0e41493414 [#6612] fix(hive-image): Support Chinese in database, table 
and column commens for Hive catalog (#6625)
0e41493414 is described below

commit 0e41493414fef118187c5e88c5ae75aca4bcb064
Author: Mini Yu <[email protected]>
AuthorDate: Mon Mar 10 11:38:34 2025 +0800

    [#6612] fix(hive-image): Support Chinese in database, table and column 
commens for Hive catalog (#6625)
    
    ### What changes were proposed in this pull request?
    
    Modify the table structure of the MySQL table for the Hive metastore
    
    ### Why are the changes needed?
    
    The default chaset `latin1` does not support Chinese.
    
    Fix: #6612
    
    ### Does this PR introduce _any_ user-facing change?
    
    N/A
    
    ### How was this patch tested?
    
    <img width="1409" alt="image"
    
src="https://github.com/user-attachments/assets/531d08b8-6f19-4a27-888f-8ed101a36b08";
    />
    
    <img width="1214" alt="image"
    
src="https://github.com/user-attachments/assets/d16c5257-b763-4efc-9246-c590a0874548";
    />
    
    
    <img width="1393" alt="image"
    
src="https://github.com/user-attachments/assets/0c5c9abb-8394-408f-81d8-9cf8bd43f240";
    />
---
 dev/docker/hive/start.sh | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/dev/docker/hive/start.sh b/dev/docker/hive/start.sh
index ca5698faa6..d6b4361402 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\&amp;characterEncoding=utf8\&amp;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
 
@@ -168,6 +170,16 @@ echo """
 # 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 &
 

Reply via email to