digraph G {
0 [labelType="html" label="<br><b>CollectLimit</b><br><br>"];
1 [labelType="html" label="<b>Generate</b><br><br>number of output rows: 100"];
subgraph cluster2 {
isCluster="true";
label="WholeStageCodegen (1)\n \nduration: 0 ms";
3 [labelType="html" label="<br><b>SerializeFromObject</b><br><br>"];
4 [labelType="html" label="<br><b>MapElements</b><br><br>"];
5 [labelType="html" label="<br><b>DeserializeToObject</b><br><br>"];
6 [labelType="html" label="<b>Scan JDBCRelation(( SELECT \r<br>\tDISTINCT t1.F0000080,\r<br>\tcase when t4.ye<>''\r<br>\tTHEN t4.ye\r<br>\tELSE DATE_FORMAT(NOW(),'%Y') end ye\r<br>\t,\r<br>\t'01-02-03-04-05-06-07-08-09-10-11-12' dataTime\r<br>\tfrom (SELECT F0000080 from `\u7ACB\u9879\u5BA1\u6279` WHERE `Status`='1' ) t1\r<br>\tLEFT JOIN `\u4E95\u4F4D\u4FE1\u606F` t2 on t2.ObjectId=t1.F0000080 and t2.`Status`='1'\r<br>\tLEFT JOIN `\u4E95\u4F4D\u8FD0\u884C\u60C5\u51B5\u8868` t3 on t2.ObjectId=t3.F0000026 and t3.`Status`='1'\r<br>\tLEFT JOIN(\t\r<br>\tSELECT DISTINCT F0000031,\r<br>\tCASE WHEN date_format(F0000030, '%d')>25 and date_format(F0000030, '%c')=12\r<br>\t\tTHEN date_format(F0000030, '%Y')+1\r<br>\t\tELSE date_format(F0000030, '%Y')\r<br>\t\tEND ye\r<br>\t FROM \t`\u65E5\u62A5\u586B\u62A5` \r<br>\t where Status='1' \r<br>\t )t4 on t4.F0000031=t3.ObjectId <br> ) as T) [numPartitions=1] </b><br><br>number of output rows: 9"];
}
1->0;
3->1;
4->3;
5->4;
6->5;
}
7
CollectLimit 100
Generate stack(12, dataTime_0, dataTime_0#200, dataTime_1, dataTime_1#201, dataTime_2, dataTime_2#202, dataTime_3, dataTime_3#203, dataTime_4, dataTime_4#204, dataTime_5, dataTime_5#205, dataTime_6, dataTime_6#206, dataTime_7, dataTime_7#207, dataTime_8, dataTime_8#208, dataTime_9, dataTime_9#209, dataTime_10, dataTime_10#210, dataTime_11, dataTime_11#211), [F0000080#197, ye#198, dataTime#199], false, [monname#248, mon#249]
SerializeFromObject [if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 0, F0000080), StringType), true, false) AS F0000080#197, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 1, ye), StringType), true, false) AS ye#198, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 2, dataTime), StringType), true, false) AS dataTime#199, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 3, dataTime_0), StringType), true, false) AS dataTime_0#200, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 4, dataTime_1), StringType), true, false) AS dataTime_1#201, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 5, dataTime_2), StringType), true, false) AS dataTime_2#202, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 6, dataTime_3), StringType), true, false) AS dataTime_3#203, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 7, dataTime_4), StringType), true, false) AS dataTime_4#204, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 8, dataTime_5), StringType), true, false) AS dataTime_5#205, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 9, dataTime_6), StringType), true, false) AS dataTime_6#206, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 10, dataTime_7), StringType), true, false) AS dataTime_7#207, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 11, dataTime_8), StringType), true, false) AS dataTime_8#208, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 12, dataTime_9), StringType), true, false) AS dataTime_9#209, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 13, dataTime_10), StringType), true, false) AS dataTime_10#210, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 14, dataTime_11), StringType), true, false) AS dataTime_11#211]
MapElements smartbix.datamining.engine.execute.node.preprocess.DivideNode$2@5ff09c1e, obj#196: org.apache.spark.sql.Row
DeserializeToObject createexternalrow(F0000080#77.toString, ye#78.toString, dataTime#79.toString, StructField(F0000080,StringType,true), StructField(ye,StringType,true), StructField(dataTime,StringType,true)), obj#195: org.apache.spark.sql.Row
Scan JDBCRelation(( SELECT
DISTINCT t1.F0000080,
case when t4.ye<>''
THEN t4.ye
ELSE DATE_FORMAT(NOW(),'%Y') end ye
,
'01-02-03-04-05-06-07-08-09-10-11-12' dataTime
from (SELECT F0000080 from `立项审批` WHERE `Status`='1' ) t1
LEFT JOIN `井位信息` t2 on t2.ObjectId=t1.F0000080 and t2.`Status`='1'
LEFT JOIN `井位运行情况表` t3 on t2.ObjectId=t3.F0000026 and t3.`Status`='1'
LEFT JOIN(
SELECT DISTINCT F0000031,
CASE WHEN date_format(F0000030, '%d')>25 and date_format(F0000030, '%c')=12
THEN date_format(F0000030, '%Y')+1
ELSE date_format(F0000030, '%Y')
END ye
FROM `日报填报`
where Status='1'
)t4 on t4.F0000031=t3.ObjectId
) as T) [numPartitions=1] [F0000080#77,ye#78,dataTime#79] PushedFilters: [], ReadSchema: struct<F0000080:string,ye:string,dataTime:string>
WholeStageCodegen (1)
== Physical Plan ==
CollectLimit (6)
+- Generate (5)
+- * SerializeFromObject (4)
+- * MapElements (3)
+- * DeserializeToObject (2)
+- * Scan JDBCRelation(( SELECT
DISTINCT t1.F0000080,
case when t4.ye<>''
THEN t4.ye
ELSE DATE_FORMAT(NOW(),'%Y') end ye
,
'01-02-03-04-05-06-07-08-09-10-11-12' dataTime
from (SELECT F0000080 from `立项审批` WHERE `Status`='1' ) t1
LEFT JOIN `井位信息` t2 on t2.ObjectId=t1.F0000080 and t2.`Status`='1'
LEFT JOIN `井位运行情况表` t3 on t2.ObjectId=t3.F0000026 and t3.`Status`='1'
LEFT JOIN(
SELECT DISTINCT F0000031,
CASE WHEN date_format(F0000030, '%d')>25 and date_format(F0000030, '%c')=12
THEN date_format(F0000030, '%Y')+1
ELSE date_format(F0000030, '%Y')
END ye
FROM `日报填报`
where Status='1'
)t4 on t4.F0000031=t3.ObjectId
) as T) [numPartitions=1] (1)
(1) Scan JDBCRelation(( SELECT
DISTINCT t1.F0000080,
case when t4.ye<>''
THEN t4.ye
ELSE DATE_FORMAT(NOW(),'%Y') end ye
,
'01-02-03-04-05-06-07-08-09-10-11-12' dataTime
from (SELECT F0000080 from `立项审批` WHERE `Status`='1' ) t1
LEFT JOIN `井位信息` t2 on t2.ObjectId=t1.F0000080 and t2.`Status`='1'
LEFT JOIN `井位运行情况表` t3 on t2.ObjectId=t3.F0000026 and t3.`Status`='1'
LEFT JOIN(
SELECT DISTINCT F0000031,
CASE WHEN date_format(F0000030, '%d')>25 and date_format(F0000030, '%c')=12
THEN date_format(F0000030, '%Y')+1
ELSE date_format(F0000030, '%Y')
END ye
FROM `日报填报`
where Status='1'
)t4 on t4.F0000031=t3.ObjectId
) as T) [numPartitions=1] [codegen id : 1]
Output [3]: [F0000080#77, ye#78, dataTime#79]
ReadSchema: struct<F0000080:string,ye:string,dataTime:string>
(2) DeserializeToObject [codegen id : 1]
Input [3]: [F0000080#77, ye#78, dataTime#79]
Arguments: createexternalrow(F0000080#77.toString, ye#78.toString, dataTime#79.toString, StructField(F0000080,StringType,true), StructField(ye,StringType,true), StructField(dataTime,StringType,true)), obj#195: org.apache.spark.sql.Row
(3) MapElements [codegen id : 1]
Input [1]: [obj#195]
Arguments: smartbix.datamining.engine.execute.node.preprocess.DivideNode$2@5ff09c1e, obj#196: org.apache.spark.sql.Row
(4) SerializeFromObject [codegen id : 1]
Input [1]: [obj#196]
Arguments: [if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 0, F0000080), StringType), true, false) AS F0000080#197, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 1, ye), StringType), true, false) AS ye#198, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 2, dataTime), StringType), true, false) AS dataTime#199, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 3, dataTime_0), StringType), true, false) AS dataTime_0#200, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 4, dataTime_1), StringType), true, false) AS dataTime_1#201, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 5, dataTime_2), StringType), true, false) AS dataTime_2#202, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 6, dataTime_3), StringType), true, false) AS dataTime_3#203, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 7, dataTime_4), StringType), true, false) AS dataTime_4#204, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 8, dataTime_5), StringType), true, false) AS dataTime_5#205, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 9, dataTime_6), StringType), true, false) AS dataTime_6#206, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 10, dataTime_7), StringType), true, false) AS dataTime_7#207, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 11, dataTime_8), StringType), true, false) AS dataTime_8#208, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 12, dataTime_9), StringType), true, false) AS dataTime_9#209, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 13, dataTime_10), StringType), true, false) AS dataTime_10#210, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 14, dataTime_11), StringType), true, false) AS dataTime_11#211]
(5) Generate
Input [15]: [F0000080#197, ye#198, dataTime#199, dataTime_0#200, dataTime_1#201, dataTime_2#202, dataTime_3#203, dataTime_4#204, dataTime_5#205, dataTime_6#206, dataTime_7#207, dataTime_8#208, dataTime_9#209, dataTime_10#210, dataTime_11#211]
Arguments: stack(12, dataTime_0, dataTime_0#200, dataTime_1, dataTime_1#201, dataTime_2, dataTime_2#202, dataTime_3, dataTime_3#203, dataTime_4, dataTime_4#204, dataTime_5, dataTime_5#205, dataTime_6, dataTime_6#206, dataTime_7, dataTime_7#207, dataTime_8, dataTime_8#208, dataTime_9, dataTime_9#209, dataTime_10, dataTime_10#210, dataTime_11, dataTime_11#211), [F0000080#197, ye#198, dataTime#199], false, [monname#248, mon#249]
(6) CollectLimit
Input [5]: [F0000080#197, ye#198, dataTime#199, monname#248, mon#249]
Arguments: 100