tMysqlInput 查询中的上下文变量为空

Context variable is null in tMysqlInput query

当我想使用 2 个上下文变量进行查询时,我的工作遇到了问题。我附上了我的工作和我的组件的照片,当我 运行 工作时,它给了我这个错误:

Exception in component tMysqlInput_1 (facebook_amazon_us)
java.lang.NullPointerException
at mava.facebook_amazon_us_0_1.facebook_amazon_us.tWaitForFile_1Process(facebook_amazon_us.java:2058)
at mava.facebook_amazon_us_0_1.facebook_amazon_us.tMysqlConnection_1Process(facebook_amazon_us.java:798)
at mava.facebook_amazon_us_0_1.facebook_amazon_us.runJobInTOS(facebook_amazon_us.java:5363)
at mava.facebook_amazon_us_0_1.facebook_amazon_us.main(facebook_amazon_us.java:5085)

我想在这份工作中做什么:我有一个包含多列的 csv 文件。第一个叫做 Reporting_Starts。我想从该列获得第一个注册并将其放入 select 的查询中,例如:

SELECT * FROM my_table WHERE MONTH(my_table.Reporting_Starts)='"+context.month+"'. 

我不明白为什么我的 tJava_4 看到变量而 tMysqlInput 看不到。

在我的 tJava_4 中,我有以下代码:

System.out.println(context.month);[My job][1][after running the job][1][tJava_3][1][tJavaRow_1][1][tMysqlInput_1 query][1]

如果您需要有关该工作的任何其他信息,请告诉我。

谢谢!

根据您拥有的所有迭代链接,我猜代码没有按照您期望的顺序执行。能否请您进行以下更改:
tFileList_1
中删除所有迭代链接 将您的工作重新组织为:

tMysqlConnection_1
     |
OnSubjobOk
     |
tWaitForFile_1
     |
  Iterate
     |
tFileList_1 -- Iterate -- tJava_3
                            |
                          OnSubjobOk
                            |
                   tFileInputDelimited_1 -- Main -- tJavaRow_1                                
                            |
                          OnSubjobOk
                            |
                          tMysqlInput -- tMap -- tMysqlOutput (delete mode, set a column as delete key)
                            |
                   tFileInputDelimited -- tMap -- tMysqlOutput (insert csv)
                            |
                          OnSubjobOk
                            |
                        tFileCopy

先测试这部分。然后,如果可行,您可以添加其余的工作。