[
https://issues.apache.org/jira/browse/TAJO-1344?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14501058#comment-14501058
]
Hudson commented on TAJO-1344:
------------------------------
FAILURE: Integrated in Tajo-master-CODEGEN-build #311 (See
[https://builds.apache.org/job/Tajo-master-CODEGEN-build/311/])
TAJO-1344: Python UDF support. (jihoon) (jihoonson: rev
a7453853975dc8b5f4162ae16a1669aeb7ed995c)
* tajo-core/src/main/java/org/apache/tajo/master/TajoMaster.java
* tajo-plan/src/main/java/org/apache/tajo/plan/LogicalPlanner.java
* tajo-core/src/main/resources/python/tajo_util.py
*
tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/SeqScanExec.java
*
tajo-plan/src/main/java/org/apache/tajo/plan/rewrite/rules/LogicalPlanEqualityTester.java
* tajo-common/src/main/java/org/apache/tajo/util/KeyValueSet.java
*
tajo-plan/src/main/java/org/apache/tajo/plan/function/stream/TextLineDeserializer.java
* tajo-common/src/main/java/org/apache/tajo/storage/Tuple.java
* tajo-core/src/test/resources/python/__init__.py
*
tajo-plan/src/main/java/org/apache/tajo/plan/function/stream/CSVLineDeserializer.java
* tajo-core/src/main/java/org/apache/tajo/worker/TajoWorker.java
* tajo-plan/src/main/java/org/apache/tajo/plan/expr/CastEval.java
*
tajo-plan/src/main/java/org/apache/tajo/plan/exprrewrite/EvalTreeOptimizer.java
* tajo-core/src/test/resources/python/test_funcs2.py
* tajo-plan/src/main/java/org/apache/tajo/plan/expr/FunctionEval.java
*
tajo-core/src/test/resources/queries/TestSelectQuery/testSelectWithPredicateOnPythonFunc.sql
*
tajo-plan/src/main/java/org/apache/tajo/plan/function/stream/TextLineSerDe.java
*
tajo-plan/src/main/java/org/apache/tajo/plan/function/stream/ByteBufInputChannel.java
* tajo-core/src/test/resources/python/test_funcs.pyc
* tajo-plan/src/main/proto/Plan.proto
*
tajo-plan/src/main/java/org/apache/tajo/plan/rewrite/rules/PartitionedTableRewriter.java
* tajo-core/src/test/java/org/apache/tajo/engine/function/TestMathFunctions.java
* tajo-core/src/main/java/org/apache/tajo/engine/query/QueryContext.java
* tajo-plan/src/main/java/org/apache/tajo/plan/serder/EvalNodeDeserializer.java
*
tajo-core/src/main/java/org/apache/tajo/engine/planner/global/rewriter/rules/GlobalPlanEqualityTester.java
*
tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/WindowAggExec.java
* tajo-plan/src/main/java/org/apache/tajo/plan/ExprAnnotator.java
* tajo-plan/src/main/java/org/apache/tajo/plan/expr/AlgebraicUtil.java
*
tajo-core/src/test/resources/queries/TestSelectQuery/testNestedPythonFunction.sql
* tajo-core/src/main/resources/python/controller.py
*
tajo-core/src/main/java/org/apache/tajo/engine/codegen/LegacyFunctionBindingEmitter.java
*
tajo-plan/src/main/java/org/apache/tajo/plan/expr/PatternMatchPredicateEval.java
*
tajo-plan/src/main/java/org/apache/tajo/plan/exprrewrite/EvalTreeOptimizationRule.java
*
tajo-plan/src/main/java/org/apache/tajo/plan/function/stream/OutputHandler.java
*
tajo-plan/src/main/java/org/apache/tajo/plan/function/stream/FieldSplitProcessor.java
* tajo-core/src/main/java/org/apache/tajo/worker/TaskAttemptContext.java
* CHANGES
* tajo-core/src/test/java/org/apache/tajo/TajoTestingCluster.java
*
tajo-core/src/test/resources/queries/TestGroupByQuery/testGroupbyWithPythonFunc2.sql
*
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/function/FunctionInvocation.java
*
tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/AggregationExec.java
* tajo-catalog/tajo-catalog-common/src/main/proto/CatalogProtos.proto
*
tajo-plan/src/main/java/org/apache/tajo/plan/function/stream/TextLineSerializer.java
*
tajo-core/src/test/resources/results/TestSelectQuery/testNestedPythonFunction.result
* tajo-core/src/main/java/org/apache/tajo/engine/codegen/EvalCodeGenContext.java
* tajo-core/src/main/java/org/apache/tajo/worker/Task.java
* tajo-plan/src/main/java/org/apache/tajo/plan/expr/EvalContext.java
*
tajo-plan/src/main/java/org/apache/tajo/plan/exprrewrite/rules/ConstantFolding.java
*
tajo-plan/src/main/java/org/apache/tajo/plan/function/PythonFunctionInvoke.java
*
tajo-core/src/test/resources/results/TestGroupByQuery/testGroupbyWithPythonFunc.result
* tajo-common/src/main/java/org/apache/tajo/json/DatumAdapter.java
*
tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/DistinctGroupbySecondAggregationExec.java
*
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MemStore.java
* tajo-core/src/test/resources/python/test_funcs.py
*
tajo-plan/src/main/java/org/apache/tajo/plan/function/stream/LineSplitProcessor.java
*
tajo-core/src/test/resources/results/TestGroupByQuery/testGroupbyWithPythonFunc2.result
* tajo-core/src/main/java/org/apache/tajo/engine/function/FunctionLoader.java
* tajo-core/src/test/resources/queries/TestSelectQuery/testSelectPythonFuncs.sql
* tajo-common/src/main/java/org/apache/tajo/datum/AnyDatum.java
*
tajo-plan/src/main/java/org/apache/tajo/plan/function/stream/FieldSerializerDeserializer.java
*
tajo-plan/src/main/java/org/apache/tajo/plan/function/stream/ByteBufLineReader.java
* tajo-core/src/test/java/org/apache/tajo/engine/query/TestSelectQuery.java
*
tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/DistinctGroupbyHashAggregationExec.java
* tajo-core/src/main/java/org/apache/tajo/master/GlobalEngine.java
*
tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/HavingExec.java
*
tajo-storage/tajo-storage-hdfs/src/test/resources/dataset/TestJsonSerDe/testVariousType.json
*
tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/HashLeftOuterJoinExec.java
* tajo-common/src/main/java/org/apache/tajo/datum/DatumFactory.java
*
tajo-core/src/main/java/org/apache/tajo/engine/codegen/VariablesPreBuilder.java
*
tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestFunctionDesc.java
*
tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/BSTIndexScanExec.java
*
tajo-core/src/test/java/org/apache/tajo/engine/function/TestPythonFunctions.java
* tajo-plan/src/main/java/org/apache/tajo/plan/function/stream/CSVLineSerDe.java
*
tajo-plan/src/main/java/org/apache/tajo/plan/function/FunctionInvokeContext.java
*
tajo-plan/src/main/java/org/apache/tajo/plan/function/python/TajoScriptEngine.java
* tajo-common/src/main/java/org/apache/tajo/datum/BlobDatum.java
* tajo-core/src/test/java/org/apache/tajo/engine/query/TestGroupByQuery.java
* tajo-plan/src/main/java/org/apache/tajo/plan/serder/EvalNodeSerializer.java
*
tajo-plan/src/main/java/org/apache/tajo/plan/function/LegacyScalarFunctionInvoke.java
* tajo-core/src/main/resources/python/__init__.py
*
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogUtil.java
* tajo-docs/src/main/sphinx/functions/json_func.rst
* tajo-common/src/main/java/org/apache/tajo/conf/TajoConf.java
* tajo-plan/src/main/java/org/apache/tajo/plan/function/stream/InputHandler.java
*
tajo-plan/src/main/java/org/apache/tajo/plan/function/stream/TextFieldSerializerDeserializer.java
*
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/AbstractDBStore.java
*
tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/DistinctGroupbyThirdAggregationExec.java
* tajo-plan/src/main/java/org/apache/tajo/plan/expr/EvalTreeUtil.java
* tajo-core/src/main/java/org/apache/tajo/engine/planner/Projector.java
* tajo-plan/src/main/java/org/apache/tajo/plan/expr/BetweenPredicateEval.java
* tajo-common/src/main/java/org/apache/tajo/util/datetime/DateTimeFormat.java
*
tajo-storage/tajo-storage-common/src/test/java/org/apache/tajo/storage/TestLazyTuple.java
* tajo-plan/src/main/java/org/apache/tajo/plan/expr/EvalNode.java
* tajo-plan/src/main/java/org/apache/tajo/plan/function/FunctionInvoke.java
*
tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/CommonJoinExec.java
* tajo-common/src/main/java/org/apache/tajo/util/FileUtil.java
*
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/FunctionDesc.java
*
tajo-plan/src/main/java/org/apache/tajo/plan/function/stream/CSVLineSerializer.java
*
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/function/PythonInvocationDesc.java
*
tajo-storage/tajo-storage-hdfs/src/test/resources/dataset/TestDelimitedTextFile/testErrorTolerance1.json
*
tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalog.java
*
tajo-core/src/test/resources/queries/TestGroupByQuery/testGroupbyWithPythonFunc.sql
*
tajo-plan/src/main/java/org/apache/tajo/plan/function/stream/TextLineParsingError.java
* tajo-common/src/main/java/org/apache/tajo/QueryVars.java
* tajo-core/src/test/java/org/apache/tajo/engine/eval/TestEvalTree.java
*
tajo-core/src/test/resources/results/TestSelectQuery/testSelectWithPredicateOnPythonFunc.result
*
tajo-plan/src/main/java/org/apache/tajo/plan/serder/LogicalNodeDeserializer.java
*
tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/DistinctGroupbyFirstAggregationExec.java
* tajo-core/src/test/java/org/apache/tajo/engine/eval/ExprTestBase.java
*
tajo-plan/src/main/java/org/apache/tajo/plan/function/python/PythonScriptEngine.java
*
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/function/FunctionUtil.java
* tajo-plan/src/main/java/org/apache/tajo/plan/expr/FieldEval.java
*
tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/SelectionExec.java
*
tajo-plan/src/main/java/org/apache/tajo/plan/function/stream/StreamingUtil.java
* tajo-core/src/test/java/org/apache/tajo/engine/eval/TestEvalTreeUtil.java
* tajo-core/src/main/java/org/apache/tajo/master/exec/QueryExecutor.java
* tajo-plan/src/main/java/org/apache/tajo/plan/expr/GeneralFunctionEval.java
* tajo-docs/src/main/sphinx/functions.rst
*
tajo-core/src/test/resources/results/TestSelectQuery/testSelectPythonFuncs.result
* tajo-plan/src/main/java/org/apache/tajo/plan/function/stream/BufferPool.java
*
tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/EvalExprExec.java
> Python UDF support
> ------------------
>
> Key: TAJO-1344
> URL: https://issues.apache.org/jira/browse/TAJO-1344
> Project: Tajo
> Issue Type: New Feature
> Components: function/udf
> Reporter: Hyunsik Choi
> Assignee: Jihoon Son
> Fix For: 0.11.0
>
> Attachments: TAJO-1344.patch, TAJO-1344_2.patch, TAJO-1344_3.patch,
> TAJO-1344_4.patch, TAJO-1344_5.patch, TAJO-1344_6.patch, TAJO-1344_7.patch,
> TAJO-1344_8.patch
>
>
> Python has abundant users and third-party libraries. This language is widely
> used in data analytic area. So, it would be great if Tajo supports Python UDF.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)