输出数据集对于 activity 类型的 HDInsightHive 真的很重要吗?
Does the output dataset really matter for HDInsightHive type of activity?
我们在管道中创建的任何 activity 都必须有一个输出数据集——我认为这纯粹是句法规则,以防 activity 是 'HDInsightHive' 类型。因为无论如何实际的输出目的地将由 HQL 查询本身决定。例如,在我们的例子中,HQL 查询从某些 table 中选择行并将行插入到其他一些外部 table。所以最终是 HQL 决定了输出的去向。目的地名称 table 出现在 HQL 本身中(插入覆盖 tablename..)。因此,在那种情况下,activity 中定义的输出数据集似乎只是充当语法粘合剂,为此必须存在。对吗?
的确,您可以像在 USQL 查询中一样定义数据在 HQL 查询中的位置。在我看来,输出数据集的主要功能是它允许您将输出通过管道传输到另一个 activity。如果您没有定义输出数据集,或者您定义的文件夹与 HQL 脚本放置输出的位置不匹配,您将无法将该数据集用作另一个 activity 的输入。如果你所有的管道总是以你的 HQL activity 结尾,并且在那之后你不需要做任何事情,那么我可以看到它看起来不需要输出数据集。
HTH
我们在管道中创建的任何 activity 都必须有一个输出数据集——我认为这纯粹是句法规则,以防 activity 是 'HDInsightHive' 类型。因为无论如何实际的输出目的地将由 HQL 查询本身决定。例如,在我们的例子中,HQL 查询从某些 table 中选择行并将行插入到其他一些外部 table。所以最终是 HQL 决定了输出的去向。目的地名称 table 出现在 HQL 本身中(插入覆盖 tablename..)。因此,在那种情况下,activity 中定义的输出数据集似乎只是充当语法粘合剂,为此必须存在。对吗?
的确,您可以像在 USQL 查询中一样定义数据在 HQL 查询中的位置。在我看来,输出数据集的主要功能是它允许您将输出通过管道传输到另一个 activity。如果您没有定义输出数据集,或者您定义的文件夹与 HQL 脚本放置输出的位置不匹配,您将无法将该数据集用作另一个 activity 的输入。如果你所有的管道总是以你的 HQL activity 结尾,并且在那之后你不需要做任何事情,那么我可以看到它看起来不需要输出数据集。
HTH