You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-zh@flink.apache.org by 迎风浪子 <57...@qq.com.INVALID> on 2023/09/19 09:20:58 UTC
回复:flink1.17版本不支持hive 2.1版本了吗
我们还在使用hive1.1.0,怎么办?
---原始邮件---
发件人: "18579099920"<18579099920@163.com>
发送时间: 2023年9月18日(周一) 中午11:26
收件人: "user-zh"<user-zh@flink.apache.org>;
主题: flink1.17版本不支持hive 2.1版本了吗
我看了一下官方文档,flink1.16版本之后好像就不支持hive2.1版本了,如果我还想hive2.1版本,应该怎么办呢
18579099920@163.com
回复: Re:flink1.17版本不支持hive 2.1版本了吗
Posted by "junjie.miao@goupwith.com" <ju...@goupwith.com>.
回复问题经常遇到回复的邮件没能收到!
JunjieM
发件人: junjie.miao@goupwith.com
发送时间: 2023-09-20 16:17
收件人: user-zh
主题: Re: 回复:flink1.17版本不支持hive 2.1版本了吗
可以重载org.apache.flink.table.catalog.hive.client.HiveShimLoader将低版本的判断加进去。
package org.apache.flink.table.catalog.hive.client;
import org.apache.flink.table.catalog.exceptions.CatalogException;
import org.apache.hive.common.util.HiveVersionInfo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
/** A loader to load HiveShim. */
public class HiveShimLoader {
public static final String HIVE_VERSION_V1_0_0 = "1.0.0";
public static final String HIVE_VERSION_V1_0_1 = "1.0.1";
public static final String HIVE_VERSION_V1_1_0 = "1.1.0";
public static final String HIVE_VERSION_V1_1_1 = "1.1.1";
public static final String HIVE_VERSION_V1_2_0 = "1.2.0";
public static final String HIVE_VERSION_V1_2_1 = "1.2.1";
public static final String HIVE_VERSION_V1_2_2 = "1.2.2";
public static final String HIVE_VERSION_V2_0_0 = "2.0.0";
public static final String HIVE_VERSION_V2_0_1 = "2.0.1";
public static final String HIVE_VERSION_V2_1_0 = "2.1.0";
public static final String HIVE_VERSION_V2_1_1 = "2.1.1";
public static final String HIVE_VERSION_V2_2_0 = "2.2.0";
public static final String HIVE_VERSION_V2_3_0 = "2.3.0";
public static final String HIVE_VERSION_V2_3_1 = "2.3.1";
public static final String HIVE_VERSION_V2_3_2 = "2.3.2";
public static final String HIVE_VERSION_V2_3_3 = "2.3.3";
public static final String HIVE_VERSION_V2_3_4 = "2.3.4";
public static final String HIVE_VERSION_V2_3_5 = "2.3.5";
public static final String HIVE_VERSION_V2_3_6 = "2.3.6";
public static final String HIVE_VERSION_V2_3_7 = "2.3.7";
public static final String HIVE_VERSION_V2_3_8 = "2.3.8";
public static final String HIVE_VERSION_V2_3_9 = "2.3.9";
public static final String HIVE_VERSION_V3_1_0 = "3.1.0";
public static final String HIVE_VERSION_V3_1_1 = "3.1.1";
public static final String HIVE_VERSION_V3_1_2 = "3.1.2";
public static final String HIVE_VERSION_V3_1_3 = "3.1.3";
private static final Map<String, HiveShim> hiveShims = new ConcurrentHashMap<>(2);
private static final Logger LOG = LoggerFactory.getLogger(HiveShimLoader.class);
private HiveShimLoader() {}
public static HiveShim loadHiveShim(String version) {
return hiveShims.computeIfAbsent(
version,
(v) -> {
if (v.startsWith(HIVE_VERSION_V1_0_0)) {
return new HiveShimV100();
}
if (v.startsWith(HIVE_VERSION_V1_0_1)) {
return new HiveShimV101();
}
if (v.startsWith(HIVE_VERSION_V1_1_0)) {
return new HiveShimV110();
}
if (v.startsWith(HIVE_VERSION_V1_1_1)) {
return new HiveShimV111();
}
if (v.startsWith(HIVE_VERSION_V1_2_0)) {
return new HiveShimV120();
}
if (v.startsWith(HIVE_VERSION_V1_2_1)) {
return new HiveShimV121();
}
if (v.startsWith(HIVE_VERSION_V1_2_2)) {
return new HiveShimV122();
}
if (v.startsWith(HIVE_VERSION_V2_0_0)) {
return new HiveShimV200();
}
if (v.startsWith(HIVE_VERSION_V2_0_1)) {
return new HiveShimV201();
}
if (v.startsWith(HIVE_VERSION_V2_1_0)) {
return new HiveShimV210();
}
if (v.startsWith(HIVE_VERSION_V2_1_1)) {
return new HiveShimV211();
}
if (v.startsWith(HIVE_VERSION_V2_2_0)) {
return new HiveShimV220();
}
if (v.startsWith(HIVE_VERSION_V2_3_0)) {
return new HiveShimV230();
}
if (v.startsWith(HIVE_VERSION_V2_3_1)) {
return new HiveShimV231();
}
if (v.startsWith(HIVE_VERSION_V2_3_2)) {
return new HiveShimV232();
}
if (v.startsWith(HIVE_VERSION_V2_3_3)) {
return new HiveShimV233();
}
if (v.startsWith(HIVE_VERSION_V2_3_4)) {
return new HiveShimV234();
}
if (v.startsWith(HIVE_VERSION_V2_3_5)) {
return new HiveShimV235();
}
if (v.startsWith(HIVE_VERSION_V2_3_6)) {
return new HiveShimV236();
}
if (v.startsWith(HIVE_VERSION_V2_3_7)) {
return new HiveShimV237();
}
if (v.startsWith(HIVE_VERSION_V2_3_8)) {
return new HiveShimV238();
}
if (v.startsWith(HIVE_VERSION_V2_3_9)) {
return new HiveShimV239();
}
if (v.startsWith(HIVE_VERSION_V3_1_0)) {
return new HiveShimV310();
}
if (v.startsWith(HIVE_VERSION_V3_1_1)) {
return new HiveShimV311();
}
if (v.startsWith(HIVE_VERSION_V3_1_2)) {
return new HiveShimV312();
}
if (v.startsWith(HIVE_VERSION_V3_1_3)) {
return new HiveShimV313();
}
throw new CatalogException("Unsupported Hive version " + v);
});
}
public static String getHiveVersion() {
return HiveVersionInfo.getVersion();
}
}
JunjieM
发件人: 迎风浪子
发送时间: 2023-09-19 17:20
收件人: user-zh
主题: 回复:flink1.17版本不支持hive 2.1版本了吗
我们还在使用hive1.1.0,怎么办?
---原始邮件---
发件人: "18579099920"<18579099920@163.com>
发送时间: 2023年9月18日(周一) 中午11:26
收件人: "user-zh"<user-zh@flink.apache.org>;
主题: flink1.17版本不支持hive 2.1版本了吗
我看了一下官方文档,flink1.16版本之后好像就不支持hive2.1版本了,如果我还想hive2.1版本,应该怎么办呢
18579099920@163.com
Re: 回复:flink1.17版本不支持hive 2.1版本了吗
Posted by "junjie.miao@goupwith.com" <ju...@goupwith.com>.
可以重载org.apache.flink.table.catalog.hive.client.HiveShimLoader将低版本的判断加进去。
package org.apache.flink.table.catalog.hive.client;
import org.apache.flink.table.catalog.exceptions.CatalogException;
import org.apache.hive.common.util.HiveVersionInfo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
/** A loader to load HiveShim. */
public class HiveShimLoader {
public static final String HIVE_VERSION_V1_0_0 = "1.0.0";
public static final String HIVE_VERSION_V1_0_1 = "1.0.1";
public static final String HIVE_VERSION_V1_1_0 = "1.1.0";
public static final String HIVE_VERSION_V1_1_1 = "1.1.1";
public static final String HIVE_VERSION_V1_2_0 = "1.2.0";
public static final String HIVE_VERSION_V1_2_1 = "1.2.1";
public static final String HIVE_VERSION_V1_2_2 = "1.2.2";
public static final String HIVE_VERSION_V2_0_0 = "2.0.0";
public static final String HIVE_VERSION_V2_0_1 = "2.0.1";
public static final String HIVE_VERSION_V2_1_0 = "2.1.0";
public static final String HIVE_VERSION_V2_1_1 = "2.1.1";
public static final String HIVE_VERSION_V2_2_0 = "2.2.0";
public static final String HIVE_VERSION_V2_3_0 = "2.3.0";
public static final String HIVE_VERSION_V2_3_1 = "2.3.1";
public static final String HIVE_VERSION_V2_3_2 = "2.3.2";
public static final String HIVE_VERSION_V2_3_3 = "2.3.3";
public static final String HIVE_VERSION_V2_3_4 = "2.3.4";
public static final String HIVE_VERSION_V2_3_5 = "2.3.5";
public static final String HIVE_VERSION_V2_3_6 = "2.3.6";
public static final String HIVE_VERSION_V2_3_7 = "2.3.7";
public static final String HIVE_VERSION_V2_3_8 = "2.3.8";
public static final String HIVE_VERSION_V2_3_9 = "2.3.9";
public static final String HIVE_VERSION_V3_1_0 = "3.1.0";
public static final String HIVE_VERSION_V3_1_1 = "3.1.1";
public static final String HIVE_VERSION_V3_1_2 = "3.1.2";
public static final String HIVE_VERSION_V3_1_3 = "3.1.3";
private static final Map<String, HiveShim> hiveShims = new ConcurrentHashMap<>(2);
private static final Logger LOG = LoggerFactory.getLogger(HiveShimLoader.class);
private HiveShimLoader() {}
public static HiveShim loadHiveShim(String version) {
return hiveShims.computeIfAbsent(
version,
(v) -> {
if (v.startsWith(HIVE_VERSION_V1_0_0)) {
return new HiveShimV100();
}
if (v.startsWith(HIVE_VERSION_V1_0_1)) {
return new HiveShimV101();
}
if (v.startsWith(HIVE_VERSION_V1_1_0)) {
return new HiveShimV110();
}
if (v.startsWith(HIVE_VERSION_V1_1_1)) {
return new HiveShimV111();
}
if (v.startsWith(HIVE_VERSION_V1_2_0)) {
return new HiveShimV120();
}
if (v.startsWith(HIVE_VERSION_V1_2_1)) {
return new HiveShimV121();
}
if (v.startsWith(HIVE_VERSION_V1_2_2)) {
return new HiveShimV122();
}
if (v.startsWith(HIVE_VERSION_V2_0_0)) {
return new HiveShimV200();
}
if (v.startsWith(HIVE_VERSION_V2_0_1)) {
return new HiveShimV201();
}
if (v.startsWith(HIVE_VERSION_V2_1_0)) {
return new HiveShimV210();
}
if (v.startsWith(HIVE_VERSION_V2_1_1)) {
return new HiveShimV211();
}
if (v.startsWith(HIVE_VERSION_V2_2_0)) {
return new HiveShimV220();
}
if (v.startsWith(HIVE_VERSION_V2_3_0)) {
return new HiveShimV230();
}
if (v.startsWith(HIVE_VERSION_V2_3_1)) {
return new HiveShimV231();
}
if (v.startsWith(HIVE_VERSION_V2_3_2)) {
return new HiveShimV232();
}
if (v.startsWith(HIVE_VERSION_V2_3_3)) {
return new HiveShimV233();
}
if (v.startsWith(HIVE_VERSION_V2_3_4)) {
return new HiveShimV234();
}
if (v.startsWith(HIVE_VERSION_V2_3_5)) {
return new HiveShimV235();
}
if (v.startsWith(HIVE_VERSION_V2_3_6)) {
return new HiveShimV236();
}
if (v.startsWith(HIVE_VERSION_V2_3_7)) {
return new HiveShimV237();
}
if (v.startsWith(HIVE_VERSION_V2_3_8)) {
return new HiveShimV238();
}
if (v.startsWith(HIVE_VERSION_V2_3_9)) {
return new HiveShimV239();
}
if (v.startsWith(HIVE_VERSION_V3_1_0)) {
return new HiveShimV310();
}
if (v.startsWith(HIVE_VERSION_V3_1_1)) {
return new HiveShimV311();
}
if (v.startsWith(HIVE_VERSION_V3_1_2)) {
return new HiveShimV312();
}
if (v.startsWith(HIVE_VERSION_V3_1_3)) {
return new HiveShimV313();
}
throw new CatalogException("Unsupported Hive version " + v);
});
}
public static String getHiveVersion() {
return HiveVersionInfo.getVersion();
}
}
JunjieM
发件人: 迎风浪子
发送时间: 2023-09-19 17:20
收件人: user-zh
主题: 回复:flink1.17版本不支持hive 2.1版本了吗
我们还在使用hive1.1.0,怎么办?
---原始邮件---
发件人: "18579099920"<18579099920@163.com>
发送时间: 2023年9月18日(周一) 中午11:26
收件人: "user-zh"<user-zh@flink.apache.org>;
主题: flink1.17版本不支持hive 2.1版本了吗
我看了一下官方文档,flink1.16版本之后好像就不支持hive2.1版本了,如果我还想hive2.1版本,应该怎么办呢
18579099920@163.com
Re: 回复:flink1.17版本不支持hive 2.1版本了吗
Posted by yuxia <lu...@alumni.sjtu.edu.cn>.
把这个 pr https://github.com/apache/flink/pull/19352 revert 掉,然后重新打包 flink hive connector 就可以。
Best regards,
Yuxia
----- 原始邮件 -----
发件人: "迎风浪子" <57...@qq.com.INVALID>
收件人: "user-zh" <us...@flink.apache.org>
发送时间: 星期二, 2023年 9 月 19日 下午 5:20:58
主题: 回复:flink1.17版本不支持hive 2.1版本了吗
我们还在使用hive1.1.0,怎么办?
---原始邮件---
发件人: "18579099920"<18579099920@163.com>
发送时间: 2023年9月18日(周一) 中午11:26
收件人: "user-zh"<user-zh@flink.apache.org>;
主题: flink1.17版本不支持hive 2.1版本了吗
我看了一下官方文档,flink1.16版本之后好像就不支持hive2.1版本了,如果我还想hive2.1版本,应该怎么办呢
18579099920@163.com