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\&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
@@ -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 &