我有一个Java应用程序,其中使用Flink Api
。因此,基本上,我想使用该代码来创建两个几乎没有记录的数据集,然后将它们与必要的字段一起注册为两个表。
DataSet<Company> comp = env.fromElements(
new Company("Aux", 1),
new Company("Comp2", 2),
new Company("Comp3", 3));
DataSet<Employee> emp = env.fromElements(
new Employee("Kula", 1),
new Employee("Ish", 1),
new Employee("Kula", 3));
tEnv.registerDataSet("Employee", emp, "name, empId");
tEnv.registerDataSet("Company", comp, "cName, empId");
然后,我尝试使用
Table API
将这两个表连接起来:Table anotherJoin = tEnv.sql("SELECT Employee.name, Employee.empId, Company.cName FROM " +
"Employee RIGHT JOIN Company on Employee.empId = Company.empId");
我只是在控制台上打印结果。 在我的计算机上本地可以完美地工作。我通过将
fat-jar
与依赖项结合使用来创建了maven-shade-plugin
,并且尝试在AWS Lambda
中执行它。因此,当我尝试在那里执行它时,我被抛出以下异常(我仅发布了前几行):
我在Lambda中执行之前提取了jar,然后偶然发现所有依赖项都在那里。我不知道哪里出了问题?
任何帮助,将不胜感激。
最佳答案
您需要在pom-> maven-shaded-plugin->配置部分中添加以下代码:
<transformers>
<!-- append default configs -->
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>reference.conf</resource>
</transformer>
</transformers>