dremio udf 参考调用处理

网友投稿 315 2022-09-20

dremio udf 参考调用处理

以下是基于arthas 生成的调用,可以参考学习使用

参考调用

[arthas@1]$ stack com.dremio.exec.planner.sql.handlers.direct.CreateFunctionHandler toResult

Press Q or Ctrl+C to abort.

Affect(class count: 1 , method count: 1) cost in 451 ms, listenerId: 1

ts=2022-07-16 04:20:32;thread_name=1d2dc36e-ae2d-f425-5c22-0de4ae1afd00/0:foreman-planning;id=ea;is_daemon=true;priority=10;TCCL=jdk.internal.loader.ClassLoaders$AppClassLoader@42110406

@com.dremio.exec.planner.sql.handlers.direct.CreateFunctionHandler.toResult()

at com.dremio.exec.planner.sql.handlers.commands.DirectCommand.plan(DirectCommand.java:61)

at com.dremio.exec.work.foreman.AttemptManager.plan(AttemptManager.java:500)

at com.dremio.exec.work.foreman.AttemptManager.lambda$run$4(AttemptManager.java:392)

at com.dremio.service.commandpool.ReleasableBoundCommandPool.lambda$getWrappedCommand$3(ReleasableBoundCommandPool.java:138)

at com.dremio.service.commandpool.CommandWrapper.run(CommandWrapper.java:62)

at com.jprofiler.agent.callee.RunnableTracking.run(ejt:19)

at com.dremio.context.RequestContext.run(RequestContext.java:95)

at com.dremio.common.concurrent.ContextMigratingExecutorService.lambda$decorate$3(ContextMigratingExecutorService.java:199)

at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)

at java.util.concurrent.FutureTask.run(FutureTask.java:264)

at java.util.concurrent.ThreadPoolExecutor.runWorker(null:1128)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)

at java.lang.Thread.run(null:829)

参数

watch com.dremio.exec.planner.sql.handlers.direct.CreateFunctionHandler toResult '{params, target, returnObj, throwExp}' -x 3 -v

Press Q or Ctrl+C to abort.

Affect(class count: 1 , method count: 1) cost in 265 ms, listenerId: 3

Condition express: null , result: true

method=com.dremio.exec.planner.sql.handlers.direct.CreateFunctionHandler.toResult location=AtExit

ts=2022-07-16 04:23:08; [cost=8.931868ms] result=@ArrayList[

@Object[][

@String[CREATE FUNCTION multiply4 (x INT, y INT) RETURNS INT RETURN SELECT x * y\n],

@SqlCreateFunction[

name=@SqlIdentifier[multiply4],

fieldList=@SqlNodeList[(`x`, INTEGER), (`y`, INTEGER)],

expression=@SqlSelect[SELECT `x` * `y`],

returnType=@SqlComplexDataTypeSpec[INTEGER],

shouldReplace=@Boolean[false],

ifNotExists=@Boolean[false],

OPERATOR=@[CREATE_FUNCTION],

EMPTY_ARRAY=@SqlNode[][isEmpty=true;size=0],

pos=@SqlParserPos[line 1, column 1],

],

],

@CreateFunctionHandler[

logger=@Logger[

serialVersionUID=@Long[5454405123156820674],

FQCN=@String[ch.qos.logback.classic.Logger],

name=@String[com.dremio.exec.planner.sql.handlers.direct.CreateFunctionHandler],

level=null,

effectiveLevelInt=@Integer[20000],

parent=@Logger[Logger[com.dremio.exec.planner.sql.handlers.direct]],

childrenList=null,

aai=null,

additive=@Boolean[true],

loggerContext=@LoggerContext[ch.qos.logback.classic.LoggerContext[default]],

],

TYPE_FACTORY=@SqlTypeFactoryImpl[

INSTANCE=@SqlTypeFactoryImpl[com.dremio.exec.planner.types.SqlTypeFactoryImpl@9bd31c5],

$assertionsDisabled=@Boolean[true],

CACHE=@LocalLoadingCache[com.google.common.cache.LocalCache$LocalLoadingCache@347010f2],

CLASS_FAMILIES=@RegularImmutableMap[isEmpty=false;size=19],

typeSystem=@RelDataTypeSystemImpl[com.dremio.exec.planner.types.RelDataTypeSystemImpl@4abf290c],

$assertionsDisabled=@Boolean[true],

],

REX_BUILDER=@DremioRexBuilder[

Utf8SqlCollation=@SqlCollation[COLLATE UTF-8$en_US$primary],

GET_OPERATOR=@SqlSpecialOperator[_get],

TO_INPUT_REF=@[org.apache.calcite.rex.RexBuilder$1@6058b5a4],

typeFactory=@SqlTypeFactoryImpl[com.dremio.exec.planner.types.SqlTypeFactoryImpl@9bd31c5],

booleanTrue=@RexLiteral[true],

booleanFalse=@RexLiteral[false],

charEmpty=@RexLiteral[''],

constantNull=@RexLiteral[null],

opTab=@SqlStdOperatorTable[org.apache.calcite.sql.fun.SqlStdOperatorTable@17c598a2],

$assertionsDisabled=@Boolean[true],

],

DUPLICATE_PARAMETER_ERROR_MSG=@String[Parameter name %s appears more than once],

context=@QueryContext[

sabotContext=@SabotContext[com.dremio.exec.server.SabotContext@57bdf517],

session=@UserSession[com.dremio.sabot.rpc.user.UserSession@5daba2a],

queryId=@QueryId[part1: 2102550813345871732

part2: 7096703444235905536

],

optionManager=@OptionManagerWrapper[com.dremio.exec.server.options.OptionManagerWrapper@5de7b32a],

queryOptionManager=@QueryOptionManager[com.dremio.exec.server.options.QueryOptionManager@78b7d8a7],

executionControls=@ExecutionControls[com.dremio.exec.testing.ExecutionControls@401a9feb],

plannerSettings=@PlannerSettings[com.dremio.exec.planner.physical.PlannerSettings@10417628],

table=@OperatorTable[com.dremio.exec.planner.sql.OperatorTable@705fe9e9],

queryContextInfo=@QueryContextInformation[query_start_time: 1657945388307

time_zone: 569

default_schema_name: ""

priority {

workload_class: GENERAL

}

query_max_allocation: 9223372036854775807

last_query_id {

part1: 2102551179292064433

part2: 3807247139625131264

}

],

contextInformation=@ContextInformationImpl[com.dremio.sabot.exec.context.ContextInformationImpl@366b75a5],

allocator=@ChildAllocator[Allocator(query-planning:1d2dc2d3-2fb0-7774-627c-8e2ebdf8ea00) 0/0/0/268435456 (res/actual/peak/limit)

],

bufferManager=@BufferManagerImpl[com.dremio.sabot.exec.context.BufferManagerImpl@221a5144],

catalog=@CachingCatalog[com.dremio.exec.catalog.CachingCatalog@39f18319],

substitutionProviderFactory=@DremioSubstitutionProviderFactory[com.dremio.exec.planner.acceleration.substitution.DremioSubstitutionProviderFactory@366e256f],

functionImplementationRegistry=@DecimalFunctionImplementationRegistry[com.dremio.exec.expr.fn.DecimalFunctionImplementationRegistry@7e3e77c2],

groupResourceInformation=@ClusterResourceInformation[com.dremio.resource.ClusterResourceInformation@1a37ddc6],

constantValueHolderCache=@HashMap[isEmpty=true;size=0],

survivingRowCountsWithPruneFilter=@HashMap[isEmpty=true;size=0],

survivingFileCountsWithPruneFilter=@HashMap[isEmpty=true;size=0],

nextErrorContextId=@Integer[0],

errorContexts=@ArrayList[isEmpty=true;size=0],

queryPriority=@QueryPriority[workload_class: GENERAL

],

datasetValidityChecker=@[Predicates.alwaysTrue()],

workloadType=@WorkloadType[JDBC],

relMetadataQuerySupplier=@DremioRelMetadataQuery$$Lambda$385/0x00000008007cf440[com.dremio.exec.planner.cost.DremioRelMetadataQuery$$Lambda$385/0x00000008007cf440@5bc5b85a],

closed=@Boolean[false],

planCache=@PlanCache[com.dremio.exec.planner.PlanCache@2b255217],

queryRequiresGroupsInfo=@Boolean[false],

$assertionsDisabled=@Boolean[true],

],

],

@SingletonList[

@SimpleCommandResult[

ok=@Boolean[true],

summary=@String[Function, multiply4, is created.],

],

],

null,

]

参考资料

​​​​​ sabot/kernel/src/main/java/com/dremio/exec/planner/sql/parser/SqlAlterTableAddRowAccessPolicy.java

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:dremio 22 udf 功能
下一篇:dremio 的InformationSchemaCatalog 服务一
相关文章

 发表评论

暂时没有评论,来抢沙发吧~