Hey Rui,

My bad!
You have already pointed out to me what I completely misunderstood. I've
been confusing some of the steps to register udfs.
And also, somehow, my metastore was a mess. So, I cleaned up the metastore
and database and then, I created a database for hive catalog and registered
the functions explicitly using the 'CREATE FUNCTION' statement. At this
point, I can see the registered udfs from 'SHOW FUNCTIONS' output.

Now, Got an expected output from the 'SELECT...' statement:
SELECT ST_AsText(ST_Point(1, 2))
......

+----+--------------------------------+

| op |                         EXPR$0 |

+----+--------------------------------+

| +I |                    POINT (1 2) |

+----+--------------------------------+



Sorry for the noise and my tardiness.


Thanks,

Youngwoo



On Wed, Apr 28, 2021 at 3:39 PM Youngwoo Kim (김영우) <yw...@apache.org> wrote:

> Hey Rui,
>
> For geospatial udfs, I've configured these jars to my flink deployment:
>
> # Flink-Hive
>
> RUN wget -q -O
> /opt/flink/lib/flink-sql-connector-hive-3.1.2_2.12-1.12.2.jar
> https://repo1.maven.org/maven2/org/apache/flink/flink-sql-connector-hive-3.1.2_2.12/1.12.2/flink-sql-connector-hive-3.1.2_2.12-1.12.2.jar
> \
>
>   && wget -q -O /opt/flink/lib/hive-exec-3.1.2.jar
> https://repo1.maven.org/maven2/org/apache/hive/hive-exec/3.1.2/hive-exec-3.1.2.jar
> \
>
>   && wget -q -O /opt/flink/lib/libfb303-0.9.3.jar
> http://databus.dbpedia.org:8081/repository/internal/org/apache/thrift/libfb303/0.9.3/libfb303-0.9.3.jar
>
>
> # Hive geospatial udf,
> https://github.com/Esri/spatial-framework-for-hadoop
>
> RUN wget -q -O /opt/flink/lib/spatial-sdk-hive.jar
> https://github.com/Esri/spatial-framework-for-hadoop/releases/download/v2.2.0/spatial-sdk-hive-2.2.0.jar
> \
>
>   && wget -q -O /opt/flink/lib/spatial-sdk-json.jar
> https://github.com/Esri/spatial-framework-for-hadoop/releases/download/v2.2.0/spatial-sdk-json-2.2.0.jar
> \
>
>   && wget -q -O /opt/flink/lib/esri-geometry-api.jar
> https://repo1.maven.org/maven2/com/esri/geometry/esri-geometry-api/2.2.4/esri-geometry-api-2.2.4.jar
>
>
>
> As I mentioned above, I did not register the functions explicitly because
> the 'CREATE FUNCTION ...'  statement did not work for me. If I run this
> statement, e.g., "CREATE FUNCTION ST_GeomFromText AS
>  'com.esri.hadoop.hive.ST_GeomFromText'" :
>
>
> org.apache.flink.client.program.ProgramInvocationException: The main
> method caused an error: Function flink_gaia.ST_GeomFromText already exists
> in Catalog flink-hive.
>
> at
> org.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:366)
>
> at
> org.apache.flink.client.program.PackagedProgram.invokeInteractiveModeForExecution(PackagedProgram.java:219)
>
> at org.apache.flink.client.ClientUtils.executeProgram(ClientUtils.java:114)
>
> at
> org.apache.flink.client.cli.CliFrontend.executeProgram(CliFrontend.java:812)
>
> at org.apache.flink.client.cli.CliFrontend.run(CliFrontend.java:246)
>
> at
> org.apache.flink.client.cli.CliFrontend.parseAndRun(CliFrontend.java:1054)
>
> at
> org.apache.flink.client.cli.CliFrontend.lambda$main$10(CliFrontend.java:1132)
>
> at java.security.AccessController.doPrivileged(Native Method)
>
> at javax.security.auth.Subject.doAs(Subject.java:422)
>
> at
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1682)
>
> at
> org.apache.flink.runtime.security.contexts.HadoopSecurityContext.runSecured(HadoopSecurityContext.java:41)
>
> at org.apache.flink.client.cli.CliFrontend.main(CliFrontend.java:1132)
>
> Caused by: org.apache.flink.table.api.ValidationException: Function
> flink_gaia.ST_GeomFromText already exists in Catalog flink-hive.
>
> at
> org.apache.flink.table.api.internal.TableEnvironmentImpl.createCatalogFunction(TableEnvironmentImpl.java:1459)
>
> at
> org.apache.flink.table.api.internal.TableEnvironmentImpl.executeOperation(TableEnvironmentImpl.java:1009)
>
> at
> org.apache.flink.table.api.internal.TableEnvironmentImpl.executeSql(TableEnvironmentImpl.java:666)
>
> at com.skt.chiron.FlinkApp.main(FlinkApp.java:58)
>
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>
> at java.lang.reflect.Method.invoke(Method.java:498)
>
> at
> org.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:349)
>
> ... 11 more
>
>
>
> Thanks,
>
> Youngwoo
>
>
>
> On Wed, Apr 28, 2021 at 3:05 PM Rui Li <lirui.fu...@gmail.com> wrote:
>
>> Hi Youngwoo,
>>
>> Could you please share the function jar and DDL you used to create the
>> function? I can try reproducing this issue locally.
>>
>> On Wed, Apr 28, 2021 at 1:33 PM Youngwoo Kim (김영우) <yw...@apache.org>
>> wrote:
>>
>>> Thanks Shengkai and Rui for looking into this.
>>>
>>> A snippet from my app. looks like following:
>>>
>>>     HiveCatalog hive = *new* HiveCatalog("flink-hive", "default",
>>> "/tmp/hive");
>>>
>>>     tableEnv.registerCatalog("flink-hive", hive);
>>>
>>>
>>>     tableEnv.useCatalog("flink-hive");
>>>
>>>     tableEnv.loadModule("flink-hive", *new* HiveModule("3.1.2"));
>>>
>>>
>>>     tableEnv.getConfig().setSqlDialect(SqlDialect.*HIVE*);
>>>
>>>
>>>     tableEnv.executeSql("CREATE DATABASE IF NOT EXISTS flink_gaia");
>>>
>>>     tableEnv.executeSql("USE flink_gaia");
>>>
>>>     tableEnv.executeSql("SHOW CURRENT CATALOG").print();
>>>
>>>     tableEnv.executeSql("SHOW CURRENT DATABASE").print();
>>>
>>>     tableEnv.executeSql("SHOW TABLES").print();
>>>
>>>     tableEnv.executeSql("SHOW FUNCTIONS").print();
>>>
>>>
>>>
>>>     // Test Hive UDF
>>>
>>>     tableEnv.executeSql("SELECT ST_AsText(ST_Point(1, 2))");
>>>
>>>
>>> And I got the following output and exception:
>>>
>>>
>>> +----------------------+
>>>
>>> | current catalog name |
>>>
>>> +----------------------+
>>>
>>> |           flink-hive |
>>>
>>> +----------------------+
>>>
>>> 1 row in set
>>>
>>> +-----------------------+
>>>
>>> | current database name |
>>>
>>> +-----------------------+
>>>
>>> |            flink_gaia |
>>>
>>> +-----------------------+
>>>
>>> 1 row in set
>>>
>>> +----------------------+
>>>
>>> |           table name |
>>>
>>> +----------------------+
>>>
>>> |             geofence |
>>>
>>> |                 lcap |
>>>
>>> | lcap_temporal_fenced |
>>>
>>> +----------------------+
>>>
>>>
>>> +--------------------------------+
>>>
>>> |                  function name |
>>>
>>> +--------------------------------+
>>>
>>> |                       regr_sxy |
>>>
>>> ......
>>>
>>>
>>> 380 rows in set
>>>
>>>
>>> (snip)
>>>
>>>
>>> org.apache.flink.client.program.ProgramInvocationException: The main
>>> method caused an error: SQL validation failed. From line 1, column 18 to
>>> line 1, column 31: No match found for function signature
>>> ST_Point(<NUMERIC>, <NUMERIC>)
>>>
>>> at
>>> org.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:366)
>>>
>>> at
>>> org.apache.flink.client.program.PackagedProgram.invokeInteractiveModeForExecution(PackagedProgram.java:219)
>>>
>>> at
>>> org.apache.flink.client.ClientUtils.executeProgram(ClientUtils.java:114)
>>>
>>> at
>>> org.apache.flink.client.cli.CliFrontend.executeProgram(CliFrontend.java:812)
>>>
>>> at org.apache.flink.client.cli.CliFrontend.run(CliFrontend.java:246)
>>>
>>> at
>>> org.apache.flink.client.cli.CliFrontend.parseAndRun(CliFrontend.java:1054)
>>>
>>> at
>>> org.apache.flink.client.cli.CliFrontend.lambda$main$10(CliFrontend.java:1132)
>>>
>>> at java.security.AccessController.doPrivileged(Native Method)
>>>
>>> at javax.security.auth.Subject.doAs(Subject.java:422)
>>>
>>> at
>>> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1682)
>>>
>>> at
>>> org.apache.flink.runtime.security.contexts.HadoopSecurityContext.runSecured(HadoopSecurityContext.java:41)
>>>
>>> at org.apache.flink.client.cli.CliFrontend.main(CliFrontend.java:1132)
>>>
>>>
>>>
>>>
>>> Thanks,
>>>
>>> Youngwoo
>>>
>>>
>>>
>>> On Wed, Apr 28, 2021 at 1:44 PM Rui Li <lirui.fu...@gmail.com> wrote:
>>>
>>>> Hi Youngwoo,
>>>>
>>>> The catalog function is associated with a catalog and DB. Assuming you
>>>> have created the function ST_Point in your metastore, could you verify
>>>> whether the current catalog is your HiveCatalog and the current database is
>>>> the database in which ST_Point is registered?
>>>>
>>>> On Wed, Apr 28, 2021 at 12:24 PM Shengkai Fang <fskm...@gmail.com>
>>>> wrote:
>>>>
>>>>> Hi.
>>>>>
>>>>> The order of the module may influence the load of the function.
>>>>>
>>>>> [1] https://issues.apache.org/jira/browse/FLINK-22383
>>>>>
>>>>> Youngwoo Kim (김영우) <yw...@apache.org> 于2021年4月28日周三 上午10:50写道:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> I've configured Hive metastore to use HiveCatalog in streaming
>>>>>> application. So far, most of the features are working fine in hive
>>>>>> integration.
>>>>>>
>>>>>> However, I have a problem in using Hive UDFs. Already done
>>>>>> prerequisites to use Hive geospatial UDFs[1]
>>>>>>
>>>>>> To sanity check, I did run a query like below:
>>>>>>
>>>>>> tableEnv.executeSql("SELECT ST_AsText(ST_Point(1, 2))");
>>>>>>
>>>>>>
>>>>>> Got an exception like this:
>>>>>>
>>>>>>
>>>>>> org.apache.flink.client.program.ProgramInvocationException: The main
>>>>>> method caused an error: SQL validation failed. From line 1, column 18 to
>>>>>> line 1, column 63: No match found for function signature
>>>>>> ST_Point(<NUMERIC>, <NUMERIC>)
>>>>>>
>>>>>> at
>>>>>> org.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:366)
>>>>>>
>>>>>> at
>>>>>> org.apache.flink.client.program.PackagedProgram.invokeInteractiveModeForExecution(PackagedProgram.java:219)
>>>>>>
>>>>>> at
>>>>>> org.apache.flink.client.ClientUtils.executeProgram(ClientUtils.java:114)
>>>>>>
>>>>>> at
>>>>>> org.apache.flink.client.cli.CliFrontend.executeProgram(CliFrontend.java:812)
>>>>>>
>>>>>> at org.apache.flink.client.cli.CliFrontend.run(CliFrontend.java:246)
>>>>>>
>>>>>> at
>>>>>> org.apache.flink.client.cli.CliFrontend.parseAndRun(CliFrontend.java:1054)
>>>>>>
>>>>>> at
>>>>>> org.apache.flink.client.cli.CliFrontend.lambda$main$10(CliFrontend.java:1132)
>>>>>>
>>>>>> at java.security.AccessController.doPrivileged(Native Method)
>>>>>>
>>>>>> at javax.security.auth.Subject.doAs(Subject.java:422)
>>>>>>
>>>>>> at
>>>>>> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1682)
>>>>>>
>>>>>> at
>>>>>> org.apache.flink.runtime.security.contexts.HadoopSecurityContext.runSecured(HadoopSecurityContext.java:41)
>>>>>>
>>>>>> at org.apache.flink.client.cli.CliFrontend.main(CliFrontend.java:1132)
>>>>>>
>>>>>> Caused by: org.apache.flink.table.api.ValidationException: SQL
>>>>>> validation failed. From line 1, column 18 to line 1, column 63: No match
>>>>>> found for function signature ST_Point(<NUMERIC>, <NUMERIC>)
>>>>>>
>>>>>> at org.apache.flink.table.planner.calcite.FlinkPlannerImpl.org
>>>>>> $apache$flink$table$planner$calcite$FlinkPlannerImpl$$validate(FlinkPlannerImpl.scala:152)
>>>>>>
>>>>>> at
>>>>>> org.apache.flink.table.planner.calcite.FlinkPlannerImpl.validate(FlinkPlannerImpl.scala:111)
>>>>>>
>>>>>> at
>>>>>> org.apache.flink.table.planner.operations.SqlToOperationConverter.convert(SqlToOperationConverter.java:189)
>>>>>>
>>>>>> at
>>>>>> org.apache.flink.table.planner.delegation.ParserImpl.parse(ParserImpl.java:77)
>>>>>>
>>>>>> at
>>>>>> org.apache.flink.table.api.internal.TableEnvironmentImpl.executeSql(TableEnvironmentImpl.java:660)
>>>>>>
>>>>>> at com.skt.chiron.FlinkApp.main(FlinkApp.java:67)
>>>>>>
>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>>>
>>>>>> at
>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>>>>>>
>>>>>> at
>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>>>>
>>>>>> at java.lang.reflect.Method.invoke(Method.java:498)
>>>>>>
>>>>>> at
>>>>>> org.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:349)
>>>>>>
>>>>>> ... 11 more
>>>>>>
>>>>>> Caused by: org.apache.calcite.runtime.CalciteContextException: From
>>>>>> line 1, column 18 to line 1, column 63: No match found for function
>>>>>> signature ST_Point(<NUMERIC>, <NUMERIC>)
>>>>>>
>>>>>> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
>>>>>> Method)
>>>>>>
>>>>>> at
>>>>>> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
>>>>>>
>>>>>> at
>>>>>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>>>>>>
>>>>>> at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
>>>>>>
>>>>>> at
>>>>>> org.apache.calcite.runtime.Resources$ExInstWithCause.ex(Resources.java:467)
>>>>>>
>>>>>> at
>>>>>> org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:883)
>>>>>>
>>>>>> at
>>>>>> org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:868)
>>>>>>
>>>>>> at
>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.newValidationError(SqlValidatorImpl.java:5043)
>>>>>>
>>>>>> at
>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.handleUnresolvedFunction(SqlValidatorImpl.java:1838)
>>>>>>
>>>>>> at org.apache.calcite.sql.SqlFunction.deriveType(SqlFunction.java:321)
>>>>>>
>>>>>> at org.apache.calcite.sql.SqlFunction.deriveType(SqlFunction.java:226)
>>>>>>
>>>>>> at
>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl$DeriveTypeVisitor.visit(SqlValidatorImpl.java:5882)
>>>>>>
>>>>>> at
>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl$DeriveTypeVisitor.visit(SqlValidatorImpl.java:5869)
>>>>>>
>>>>>> at org.apache.calcite.sql.SqlCall.accept(SqlCall.java:139)
>>>>>>
>>>>>> at
>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.deriveTypeImpl(SqlValidatorImpl.java:1756)
>>>>>>
>>>>>> at
>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.deriveType(SqlValidatorImpl.java:1741)
>>>>>>
>>>>>> at
>>>>>> org.apache.calcite.sql.SqlOperator.constructArgTypeList(SqlOperator.java:606)
>>>>>>
>>>>>> at org.apache.calcite.sql.SqlFunction.deriveType(SqlFunction.java:244)
>>>>>>
>>>>>> at org.apache.calcite.sql.SqlFunction.deriveType(SqlFunction.java:226)
>>>>>>
>>>>>> at
>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl$DeriveTypeVisitor.visit(SqlValidatorImpl.java:5882)
>>>>>>
>>>>>> at
>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl$DeriveTypeVisitor.visit(SqlValidatorImpl.java:5869)
>>>>>>
>>>>>> at org.apache.calcite.sql.SqlCall.accept(SqlCall.java:139)
>>>>>>
>>>>>> at
>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.deriveTypeImpl(SqlValidatorImpl.java:1756)
>>>>>>
>>>>>> at
>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.deriveType(SqlValidatorImpl.java:1741)
>>>>>>
>>>>>> at
>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.expandSelectItem(SqlValidatorImpl.java:440)
>>>>>>
>>>>>> at
>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelectList(SqlValidatorImpl.java:4205)
>>>>>>
>>>>>> at
>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect(SqlValidatorImpl.java:3474)
>>>>>>
>>>>>> at
>>>>>> org.apache.calcite.sql.validate.SelectNamespace.validateImpl(SelectNamespace.java:60)
>>>>>>
>>>>>> at
>>>>>> org.apache.calcite.sql.validate.AbstractNamespace.validate(AbstractNamespace.java:84)
>>>>>>
>>>>>> at
>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(SqlValidatorImpl.java:1067)
>>>>>>
>>>>>> at
>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlValidatorImpl.java:1041)
>>>>>>
>>>>>> at org.apache.calcite.sql.SqlSelect.validate(SqlSelect.java:232)
>>>>>>
>>>>>> at
>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateScopedExpression(SqlValidatorImpl.java:1016)
>>>>>>
>>>>>> at
>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validate(SqlValidatorImpl.java:724)
>>>>>>
>>>>>> at org.apache.flink.table.planner.calcite.FlinkPlannerImpl.org
>>>>>> $apache$flink$table$planner$calcite$FlinkPlannerImpl$$validate(FlinkPlannerImpl.scala:147)
>>>>>>
>>>>>> ... 21 more
>>>>>>
>>>>>> Caused by: org.apache.calcite.sql.validate.SqlValidatorException: No
>>>>>> match found for function signature ST_Point(<NUMERIC>, <NUMERIC>)
>>>>>>
>>>>>> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
>>>>>> Method)
>>>>>>
>>>>>> at
>>>>>> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
>>>>>>
>>>>>> at
>>>>>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>>>>>>
>>>>>> at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
>>>>>>
>>>>>> at
>>>>>> org.apache.calcite.runtime.Resources$ExInstWithCause.ex(Resources.java:467)
>>>>>>
>>>>>> at org.apache.calcite.runtime.Resources$ExInst.ex(Resources.java:560)
>>>>>>
>>>>>> ... 51 more
>>>>>>
>>>>>>
>>>>>> (snip)
>>>>>>
>>>>>>
>>>>>> And also, there are no such functions from 'SHOW FUNCTIONS':
>>>>>>
>>>>>> tableEnv.executeSql("SHOW FUNCTIONS").print();
>>>>>>
>>>>>>
>>>>>> ......
>>>>>>
>>>>>> (snip)
>>>>>>
>>>>>>
>>>>>>
>>>>>> Registering the functions explicitly does not work for me:
>>>>>>
>>>>>>
>>>>>> org.apache.flink.client.program.ProgramInvocationException: The main
>>>>>> method caused an error: Function flink_gaia.ST_GeomFromText already 
>>>>>> exists
>>>>>> in Catalog flink-hive.
>>>>>>
>>>>>> at
>>>>>> org.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:366)
>>>>>>
>>>>>> at
>>>>>> org.apache.flink.client.program.PackagedProgram.invokeInteractiveModeForExecution(PackagedProgram.java:219)
>>>>>>
>>>>>> at
>>>>>> org.apache.flink.client.ClientUtils.executeProgram(ClientUtils.java:114)
>>>>>>
>>>>>> at
>>>>>> org.apache.flink.client.cli.CliFrontend.executeProgram(CliFrontend.java:812)
>>>>>>
>>>>>> at org.apache.flink.client.cli.CliFrontend.run(CliFrontend.java:246)
>>>>>>
>>>>>> at
>>>>>> org.apache.flink.client.cli.CliFrontend.parseAndRun(CliFrontend.java:1054)
>>>>>>
>>>>>> at
>>>>>> org.apache.flink.client.cli.CliFrontend.lambda$main$10(CliFrontend.java:1132)
>>>>>>
>>>>>> at java.security.AccessController.doPrivileged(Native Method)
>>>>>>
>>>>>> at javax.security.auth.Subject.doAs(Subject.java:422)
>>>>>>
>>>>>> at
>>>>>> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1682)
>>>>>>
>>>>>> at
>>>>>> org.apache.flink.runtime.security.contexts.HadoopSecurityContext.runSecured(HadoopSecurityContext.java:41)
>>>>>>
>>>>>> at org.apache.flink.client.cli.CliFrontend.main(CliFrontend.java:1132)
>>>>>>
>>>>>> Caused by: org.apache.flink.table.api.ValidationException: Function
>>>>>> flink_gaia.ST_GeomFromText already exists in Catalog flink-hive.
>>>>>>
>>>>>> at
>>>>>> org.apache.flink.table.api.internal.TableEnvironmentImpl.createCatalogFunction(TableEnvironmentImpl.java:1459)
>>>>>>
>>>>>> at
>>>>>> org.apache.flink.table.api.internal.TableEnvironmentImpl.executeOperation(TableEnvironmentImpl.java:1009)
>>>>>>
>>>>>> at
>>>>>> org.apache.flink.table.api.internal.TableEnvironmentImpl.executeSql(TableEnvironmentImpl.java:666)
>>>>>>
>>>>>> at com.skt.chiron.FlinkApp.main(FlinkApp.java:58)
>>>>>>
>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>>>
>>>>>> at
>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>>>>>>
>>>>>> at
>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>>>>
>>>>>> at java.lang.reflect.Method.invoke(Method.java:498)
>>>>>>
>>>>>> at
>>>>>> org.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:349)
>>>>>>
>>>>>> ... 11 more
>>>>>>
>>>>>> (snip)
>>>>>>
>>>>>>
>>>>>>
>>>>>> I hope to find out why the functions are missing. Flink(Ver. 1.12.2)
>>>>>> job cluster is running on Kubernetes cluster via flink operator and the
>>>>>> standalone metastore is running for only the Flink cluster without Hive
>>>>>> deployments.
>>>>>>
>>>>>>
>>>>>> Thanks,
>>>>>>
>>>>>> Youngwoo
>>>>>>
>>>>>> 1. https://github.com/Esri/spatial-framework-for-hadoop
>>>>>>
>>>>>
>>>>
>>>> --
>>>> Best regards!
>>>> Rui Li
>>>>
>>>
>>
>> --
>> Best regards!
>> Rui Li
>>
>

Reply via email to