flink 1.10 sql 读写 hive 2.1.0

2021-11-10 Thread liuyehan
您好!


感谢您百忙之中抽空看我邮件;
目前问题:
使用看flink 1.10官网 hive部分,出现了Exception in thread "main" 
java.lang.IncompatibleClassChangeError: Implementing class
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)


pom.xml:

org.apache.flink
flink-connector-hive_2.11
1.10.2
provided



org.apache.flink
flink-table-api-java-bridge_2.11
1.10.2
provided




org.apache.hive
hive-exec
2.1.0
provided



代码:
 EnvironmentSettings settings = 
EnvironmentSettings.newInstance().useBlinkPlanner().inBatchMode().build();
TableEnvironment tableEnv = TableEnvironment.create(settings);

//EnvironmentSettings settings = 
EnvironmentSettings.newInstance().useBlinkPlanner().inBatchMode().build();

   // TableEnvironment tableEnv = TableEnvironment.create(settings);

String name= "myhive";
String defaultDatabase = "default";
String hiveConfDir = "/export/server/hive-2.1.0/conf";

HiveCatalog hive = new HiveCatalog(name, defaultDatabase, hiveConfDir,"2.1.0");
tableEnv.registerCatalog("myhive", hive);

// set the HiveCatalog as the current catalog of the session
tableEnv.useCatalog("myhive");
Table result = tableEnv.sqlQuery("select * from exp_2_mysql_table limit 10");
result.printSchema();

tableEnv.execute("Flink SQL");





flink 1.10 sql 读写 hive 2.1.0

2021-11-10 Thread liuyehan
您好!


感谢您百忙之中抽空看我邮件;
目前问题:
使用看flink 1.10官网 hive部分,出现了Exception in thread "main" 
java.lang.IncompatibleClassChangeError: Implementing class
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)


pom.xml:

org.apache.flink
flink-connector-hive_2.11
1.10.2
provided



org.apache.flink
flink-table-api-java-bridge_2.11
1.10.2
provided




org.apache.hive
hive-exec
2.1.0
provided



代码:
 EnvironmentSettings settings = 
EnvironmentSettings.newInstance().useBlinkPlanner().inBatchMode().build();
TableEnvironment tableEnv = TableEnvironment.create(settings);

//EnvironmentSettings settings = 
EnvironmentSettings.newInstance().useBlinkPlanner().inBatchMode().build();

   // TableEnvironment tableEnv = TableEnvironment.create(settings);

String name= "myhive";
String defaultDatabase = "default";
String hiveConfDir = "/export/server/hive-2.1.0/conf";

HiveCatalog hive = new HiveCatalog(name, defaultDatabase, hiveConfDir,"2.1.0");
tableEnv.registerCatalog("myhive", hive);

// set the HiveCatalog as the current catalog of the session
tableEnv.useCatalog("myhive");
Table result = tableEnv.sqlQuery("select * from exp_2_mysql_table limit 10");
result.printSchema();

tableEnv.execute("Flink SQL");








 

Re: flink 1.10 sql 读写 hive 2.1.0

2021-11-10 Thread yidan zhao
这报错信息没几句,光代码看不出来啥的。

liuyehan  于2021年11月11日周四 上午9:54写道:

> 您好!
>
>
> 感谢您百忙之中抽空看我邮件;
> 目前问题:
> 使用看flink 1.10官网 hive部分,出现了Exception in thread "main"
> java.lang.IncompatibleClassChangeError: Implementing class
> at java.lang.ClassLoader.defineClass1(Native Method)
> at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
>
>
> pom.xml:
> 
> org.apache.flink
> flink-connector-hive_2.11
> 1.10.2
> provided
> 
>
> 
> org.apache.flink
> flink-table-api-java-bridge_2.11
> 1.10.2
> provided
> 
>
> 
> 
> org.apache.hive
> hive-exec
> 2.1.0
> provided
> 
>
>
> 代码:
>  EnvironmentSettings settings =
> EnvironmentSettings.newInstance().useBlinkPlanner().inBatchMode().build();
> TableEnvironment tableEnv = TableEnvironment.create(settings);
>
> //EnvironmentSettings settings =
> EnvironmentSettings.newInstance().useBlinkPlanner().inBatchMode().build();
>
>// TableEnvironment tableEnv = TableEnvironment.create(settings);
>
> String name= "myhive";
> String defaultDatabase = "default";
> String hiveConfDir = "/export/server/hive-2.1.0/conf";
>
> HiveCatalog hive = new HiveCatalog(name, defaultDatabase,
> hiveConfDir,"2.1.0");
> tableEnv.registerCatalog("myhive", hive);
>
> // set the HiveCatalog as the current catalog of the session
> tableEnv.useCatalog("myhive");
> Table result = tableEnv.sqlQuery("select * from exp_2_mysql_table limit
> 10");
> result.printSchema();
>
> tableEnv.execute("Flink SQL");
>
>
>
>
>
>
>
>
>


Re:Re: flink 1.10 sql 读写 hive 2.1.0

2021-11-10 Thread liuyehan
不好意思,这个是全部的报错;
Exception in thread "main" java.lang.IncompatibleClassChangeError: Implementing 
class
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at 
org.apache.flink.table.planner.delegation.PlannerBase.(PlannerBase.scala:86)
at 
org.apache.flink.table.planner.delegation.BatchPlanner.(BatchPlanner.scala:47)
at 
org.apache.flink.table.planner.delegation.BlinkPlannerFactory.create(BlinkPlannerFactory.java:52)
at 
org.apache.flink.table.api.internal.TableEnvironmentImpl.create(TableEnvironmentImpl.java:208)
at org.apache.flink.table.api.TableEnvironment.create(TableEnvironment.java:87)
at hive.Flink_Hive_Test.main(Flink_Hive_Test.java:13)

















在 2021-11-11 10:06:06,"yidan zhao"  写道:
>这报错信息没几句,光代码看不出来啥的。
>
>liuyehan  于2021年11月11日周四 上午9:54写道:
>
>> 您好!
>>
>>
>> 感谢您百忙之中抽空看我邮件;
>> 目前问题:
>> 使用看flink 1.10官网 hive部分,出现了Exception in thread "main"
>> java.lang.IncompatibleClassChangeError: Implementing class
>> at java.lang.ClassLoader.defineClass1(Native Method)
>> at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
>>
>>
>> pom.xml:
>> 
>> org.apache.flink
>> flink-connector-hive_2.11
>> 1.10.2
>> provided
>> 
>>
>> 
>> org.apache.flink
>> flink-table-api-java-bridge_2.11
>> 1.10.2
>> provided
>> 
>>
>> 
>> 
>> org.apache.hive
>> hive-exec
>> 2.1.0
>> provided
>> 
>>
>>
>> 代码:
>>  EnvironmentSettings settings =
>> EnvironmentSettings.newInstance().useBlinkPlanner().inBatchMode().build();
>> TableEnvironment tableEnv = TableEnvironment.create(settings);
>>
>> //EnvironmentSettings settings =
>> EnvironmentSettings.newInstance().useBlinkPlanner().inBatchMode().build();
>>
>>// TableEnvironment tableEnv = TableEnvironment.create(settings);
>>
>> String name= "myhive";
>> String defaultDatabase = "default";
>> String hiveConfDir = "/export/server/hive-2.1.0/conf";
>>
>> HiveCatalog hive = new HiveCatalog(name, defaultDatabase,
>> hiveConfDir,"2.1.0");
>> tableEnv.registerCatalog("myhive", hive);
>>
>> // set the HiveCatalog as the current catalog of the session
>> tableEnv.useCatalog("myhive");
>> Table result = tableEnv.sqlQuery("select * from exp_2_mysql_table limit
>> 10");
>> result.printSchema();
>>
>> tableEnv.execute("Flink SQL");
>>
>>
>>
>>
>>
>>
>>
>>
>>


Re:Re:Re: flink 1.10 sql 读写 hive 2.1.0

2021-11-10 Thread liuyehan
您好!


再次补充下:报错的那一行代码是TableEnvironment tableEnv = TableEnvironment.create(settings);


直接运行的话,会报错;
Exception in thread "main" 
org.apache.flink.table.api.NoMatchingTableFactoryException: Could not find a 
suitable table factory for 'org.apache.flink.table.delegation.ExecutorFactory' 
in the classpath. Reason: No factory implements 
'org.apache.flink.table.delegation.ExecutorFactory'. The following properties 
are requested: 
class-name=org.apache.flink.table.planner.delegation.BlinkExecutorFactory 
streaming-mode=false The following factories have been considered: 
org.apache.flink.table.sources.CsvBatchTableSourceFactory 
org.apache.flink.table.sources.CsvAppendTableSourceFactory 
org.apache.flink.table.sinks.CsvBatchTableSinkFactory 
org.apache.flink.table.sinks.CsvAppendTableSinkFactory 
org.apache.flink.table.catalog.GenericInMemoryCatalogFactory 
org.apache.flink.table.module.CoreModuleFactory at 
org.apache.flink.table.factories.TableFactoryService.filterByFactoryClass(TableFactoryService.java:238)
 at 
org.apache.flink.table.factories.TableFactoryService.filter(TableFactoryService.java:185)
 at 
org.apache.flink.table.factories.TableFactoryService.findAllInternal(TableFactoryService.java:171)
 at 
org.apache.flink.table.factories.TableFactoryService.findAll(TableFactoryService.java:125)
 at 
org.apache.flink.table.factories.ComponentFactoryService.find(ComponentFactoryService.java:48)
 at 
org.apache.flink.table.api.internal.TableEnvironmentImpl.create(TableEnvironmentImpl.java:203)
 at 
org.apache.flink.table.api.TableEnvironment.create(TableEnvironment.java:87) at 
hive.Flink_Hive_Test.main(Flink_Hive_Test.java:11) 然后加了blink的依赖的包;



就出现了这样报错:
Exception in thread "main" java.lang.IncompatibleClassChangeError: Implementing 
class
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at 
org.apache.flink.table.planner.delegation.PlannerBase.(PlannerBase.scala:86)
at 
org.apache.flink.table.planner.delegation.BatchPlanner.(BatchPlanner.scala:47)
at 
org.apache.flink.table.planner.delegation.BlinkPlannerFactory.create(BlinkPlannerFactory.java:52)
at 
org.apache.flink.table.api.internal.TableEnvironmentImpl.create(TableEnvironmentImpl.java:208)
at org.apache.flink.table.api.TableEnvironment.create(TableEnvironment.java:87)
















在 2021-11-11 10:16:40,"liuyehan"  写

不好意思,这个是全部的报错;
Exception in thread "main" java.lang.IncompatibleClassChangeError: Implementing 
class
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at 
org.apache.flink.table.planner.delegation.PlannerBase.(PlannerBase.scala:86)
at 
org.apache.flink.table.planner.delegation.BatchPlanner.(BatchPlanner.scala:47)
at 
org.apache.flink.table.planner.delegation.BlinkPlannerFactory.create(BlinkPlannerFactory.java:52)
at 
org.apache.flink.table.api.internal.TableEnvironmentImpl.create(TableEnvironmentImpl.java:208)
at org.apache.flink.table.api.TableEnvironment.create(TableEnvironment.java:87)
at hive.Flink_Hive_Test.main(Flink_Hive_Test.java:13)

















在 2021-11-11 10:06:06,"yidan zhao"  写道:
>这报错信息没几句,光代码看不出来啥的。
>
>liuyehan  于2021年11月11日周四 上午9:54写道:
>
>> 您好!
>>
>>
>> 感谢您百忙之中抽空看我邮件;
>> 目前问题:
>> 使用看flink 1.10官网 hive部分,出现了Exception in thread "main"
>> java.lang.IncompatibleClassChangeError: Implementing class
>> at java.lang.ClassLoader.defineClass1(Native Method)
>> at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
>>
>>
>> pom.xml:
>> 
>> org.apache.flink
>> flink-connector-hive_2.11
>> 1.10.2
>> provided
>> 
>>
>> 
>> org.apache.flink
>> flink-table-api-java-bridge_2.11
>> 1.10.2
>> provided
>> 
>>
>> 
>> 
>> org.apache.hive
>> hive-exec
>>