Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >数据流模板作业未采用输入参数

数据流模板作业未采用输入参数
EN

Stack Overflow用户
提问于 2019-02-06 17:14:37
回答 2查看 1.4K关注 0票数 1

我有一个用下面的命令创建的数据流模板

代码语言:javascript
运行
AI代码解释
复制
    python scrap.py --setup_file /home/deepak_verma/setup.py
  --temp_location gs://visualization-dev/temp
 --staging_location gs://visualization-dev/stage 
--project visualization-dev --job_name scrap-job 
--subnetwork regions/us-east1/subnetworks/dataflow-internal 
--region us-east1  --input sentiment_analysis.table_view 
--output gs://visualization-dev/incoming 
--runner DataflowRunner 
--template_location gs://visualization-dev/template/scrap 

我的数据流管道接受输入和输出参数作为值提供者,如下所示

代码语言:javascript
运行
AI代码解释
复制
@classmethod
def _add_argparse_args(cls, parser):
    parser.add_value_provider_argument(
        '--input', dest='input', required=True,
        help='Input view. sentiment_analysis.table_view',
    )

    parser.add_value_provider_argument(
        '--output', dest='output', required=True,
        help='output gcs file path'
    )

我把它当做

代码语言:javascript
运行
AI代码解释
复制
beam.io.Read(beam.io.BigQuerySource(query=read_query.format(
        table=options.input.get(), limit=(LIMIT and "limit " + str(LIMIT) or '')), use_standard_sql=True)))

where read_query is defined as `SELECT upc, max_review_date FROM `{table}`

现在,当我使用不同的输入参数调用这个模板时

代码语言:javascript
运行
AI代码解释
复制
template_body = {
                'jobName': job_name,
                'parameters': {'input': 'table_view2'}
            }
            credentials = GoogleCredentials.get_application_default()
            service = build('dataflow', 'v1b3', credentials=credentials)
            request = service.projects().locations().templates().launch(projectId=constants.GCP_PROJECT_ID, location=constants.REGION, gcsPath=template_gcs_path, body=template_body)

数据流不会为table_view2调用此函数,而是使用此作业的table_view。

EN

回答 2

Stack Overflow用户

发布于 2019-02-06 19:45:01

问题是,在暂存模板时,您已经传递了一个input值,而这正是要解决的问题。运行第一个命令时删除--input sentiment_analysis.table_view,并将其保留为空。仅在使用'parameters': {'input': 'sentiment_analysis.table_view2'}执行模板时将其指定为参数。

如果您仍然需要默认值,可以在添加value provider参数时使用,就像在this example中一样

代码语言:javascript
运行
AI代码解释
复制
parser.add_value_provider_argument(
        '--input', dest='input', required=True,
        help='Input view. sentiment_analysis.table_view',
        default='sentiment_analysis.table_view'
    )
票数 0
EN

Stack Overflow用户

发布于 2019-03-22 22:46:21

您需要的是能够将查询作为ValueProvider传递,而不是作为已经格式化的字符串。这在Beam中是不可能的。

这里有一个开放的特性请求:https://issues.apache.org/jira/browse/BEAM-1440

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54559079

复制
相关文章
VNFD模板参数化
VNFD参数化可以实现通过单个VNFD文件和不同的VDU的参数以及值进行多次部署。
后端云
2018/10/24
2.8K0
函数模板参数(函数参数在哪)
下面列举的几种情况不能省略模板实参: 1)从模板函数实参表获得的信息有矛盾之处。
全栈程序员站长
2022/07/26
3.2K0
函数模板参数(函数参数在哪)
kettle的作业和参数组件
1、大多数ETL项目都需要完成各种各样的维护工作。例如,如何传送文件;验证数据库表是否存在,等等。而这些操作都是按照一定顺序完成。
别先生
2020/02/26
2.6K0
单链表的C++实现(采用模板类)
该文介绍了链表数据结构及其操作,包括链表的定义、链表节点的定义、链表的操作、链表异常处理、链表类的定义和实现、链表类的使用示例和代码注释。
静默虚空
2018/01/05
2.5K0
单链表的C++实现(采用模板类)
ts函数可选参数-未使用—ESlint 校验
如果你在 TypeScript 函数中使用了可选参数,但是 ESLint 报错了,你可以通过以下方法进行解决:
程序员王天
2023/10/18
8240
【C++】非类型模板参数、模板特化、模板的分离编译、模板总结
模板参数分类类型形参与非类型形参。 类型形参:出现在模板参数列表中,跟在class或者typename之类的参数类型名称。
平凡的人1
2023/10/15
4570
【C++】非类型模板参数、模板特化、模板的分离编译、模板总结
非类型模板参数/模板的特化/模板的分离编译
通常情况下,使用模板可以实现一些与类型无关的代码,但对于一些特殊类型(比如int*这种)的可能会得到一些错误的结果,需要特殊处理,比如下面的代码:
二肥是只大懒蓝猫
2023/03/30
1.3K0
非类型模板参数/模板的特化/模板的分离编译
C++11函数模板的默认模板参数
函数模板与类模板在C++98一起被引入,因种种原因,类模板可以拥有默认模板参数,而函数模板不可以。从C++11开始,这个限制被解除了,即函数模板同样可以拥有默认模板参数。默认模板参数的用法与函数的默认参数类似,考察如下示例:
恋喵大鲤鱼
2018/12/27
2.5K0
常见问题:未写@RequestParam 参数导致报错
系统报错: RequestParam.value() was empty on parameter 0 通过排查发现是由于:@RequestParam 未写参数导致。
逍遥壮士
2022/12/01
6650
常见问题:未写@RequestParam 参数导致报错
yii2做输入跳转到分页【未测试】 转
5、注意:传递的参数一定是要是“page”  因为,yii2中的分页类,传递page的数量是要跳转的页码
双面人
2019/05/21
7390
使用结构体作为函数输入参数
使用结构体作为函数的输入参数的话,在更新函数的时候,就没有必要把函数的声明以及所有调用函数的地方全部更新一遍,相对还比较方便,对于输入参数比较多的函数可以使用结构体作为输入参数。常用的有三种方式,分别是:用结构体变量作函数参数,用指向结构体变量的指针作函数参数,用结构体变量的引用变量作函数参数。
用户9736681
2022/05/11
3.2K0
iOS宏定义里面多参数输入
注意:##VA_ARGS 是必输的,不然会出现上一个调用宏的数据会污染下一个方法的数据。 污染数据的例子:
freesan44
2021/03/25
1.7K0
iOS宏定义里面多参数输入
商家存在未配置的参数,请联系商家解决
最近收到一个咨询是关于微信支付H5支付的,实际上微信H5支付用的相对来说比较少,因为涉及微信的H5应用很多直接在微信app内完成的,而微信app内是不能够使用微信H5支付。这个问题就是在微信外网页使用微信H5支付的时候微信提示“商家存在未配置的参数,请联系商家解决”。如图所示:
超级小可爱
2023/03/24
3.1K0
商家存在未配置的参数,请联系商家解决
c++模板学习08之类模板对象做函数参数
#include<iostream> #include<string> using namespace std; //类模板对象做函数参数 template<class T1,class T2> class Person { public: Person(T1 name, T2 age) :name(name),age(age){} T1 name; T2 age; void showPerson() { cout << "姓名: " << name << " 年龄:" << age <<
大忽悠爱学习
2021/03/02
6620
提交Spark作业 | 科学设定spark-submit参数
关于spark-submit的执行过程,读Spark Core的源码能够获得一个大致的印象。
大数据真好玩
2020/11/03
1.8K0
Vue3模板语法--动态参数
这里的 attributeName 会被作为一个 JavaScript 表达式进行动态求值,求得的值将会作为最终的参数来使用。例如,如果你的组件实例有一个 data property attributeName,其值为 "href",那么这个绑定将等价于 v-bind:href。
软件架构师Michael
2022/08/30
1.2K0
Mybatis 执行后 参数 未拼接到 SQL语句中
本文由 小马哥 创作,采用 知识共享署名4.0 国际许可协议进行许可 本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
IT小马哥
2020/03/18
1.3K0
C/C++开发基础——可变参数与可变参数模板
1.如果可变参数的参数类型相同,可以使用标准库中的initializer_list。
Coder-ZZ
2023/09/04
7970
C/C++开发基础——可变参数与可变参数模板
代码详解——采用控制增量作为控制输入的NMPC路径跟踪
NMPC参考路径设置 作者北京科技大学白国星 david.gx.bai@gmail.com
路径跟踪快讯
2020/09/01
8990
代码详解——采用控制增量作为控制输入的NMPC路径跟踪
Kotlin入门(25)共享参数模板
共享参数SharedPreferences是Android最简单的数据存储方式,常用于存取“Key-Value”键值对数据。在使用共享参数之前,要先调用getSharedPreferences方法声明文件名与操作模式,示例代码如下:
aqi00
2019/01/18
9190

相似问题

如何使用MVP在RecyclerView中插入/删除项目

20

TFS:在创建项目之前,我如何创建项目组?

20

RecyclerView在项目之间创建边距

40

在recyclerView中创建包含多个项目的TextView

20

使用项目组在NetSuite中创建SalesOrder

22
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档