gpt4 book ai didi

hadoop - 在 Hive 中编码列

转载 作者:可可西里 更新时间:2023-11-01 14:47:34 24 4
gpt4 key购买 nike

我正在使用 Sqoop 将一个表从 mysql 导入到 hive。有些列是 latin1 编码的。有什么办法可以做到:

  1. 在 Hive 中将这些列的编码设置为 latin1。或者
  2. 在使用 sqoop 导入时将列转换为 utf-8?

最佳答案

在 Hive 中 --default-character-set 用于设置整个数据库的字符集,而不是特定于少数列。我无法找到 Sqoop 参数,该参数会将表列快速转换为 utf-8,而列应该设置为固定类型。

$ sqoop import --connect jdbc:mysql://server.foo.com/db --table bar \
--direct -- --default-character-set=latin1

我相信您需要首先在您的 MySql 中将 Latin1 列转换为 utf-8,然后您可以从 Sqoop 导入。您可以使用以下脚本将所有列转换为 utf-8,我找到了 here .

mysql --database=dbname -B -N -e "SHOW TABLES" | \
awk '{print "ALTER TABLE", $1, "CONVERT TO CHARACTER SET utf8 COLLATE \
utf8_general_ci;"}' | mysql --database=dbname &

关于hadoop - 在 Hive 中编码列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15647082/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com