我希望能够列出与我的项目相关的所有用户和服务帐户(最好使用gcloud
CLI工具,但如果需要,很乐意进行API调用).
我可以很容易地列出所有与使用项目相关的服务帐户此,但如何能列出所有的用户吗?我期待类似下面的东西,但我在doco中看不到任何东西:
gcloud beta iam users list
Run Code Online (Sandbox Code Playgroud) 根据Dataproc docos,它具有" 与BigQuery的本机和自动集成 ".
我在BigQuery中有一个表.我想阅读该表并使用我创建的Dataproc集群(使用PySpark作业)对其进行一些分析.然后将此分析的结果写回BigQuery.您可能会问"为什么不直接在BigQuery中进行分析!?" - 原因是因为我们正在创建复杂的统计模型,而SQL的开发水平太高了.我们需要像Python或R,ergo Dataproc这样的东西.
他们是否有Dataproc + BigQuery示例?我找不到任何东西.
尝试从 BigQuery API 访问联合源(Google 表格)时,会引发以下错误:
[..]
"errorResult" : {
"location" : "/gdrive/id/<removed_file_id>",
"message" : "Encountered an error while globbing file pattern.",
"reason" : "invalid"
}
[..]
Run Code Online (Sandbox Code Playgroud)
BigQuery 中的表设置为指向此文件。它通过 Web UI 工作。只有在尝试通过 API 查询表时,它才会因上述错误而窒息。
我猜这与权限有关。需要做什么才能允许从作为联合源(指向 Google 表格)的 API 访问 BigQuery 表?
我创建了一个Pipeline,它从GCS中的文件读取,转换它,最后写入BQ表.该文件包含标题行(字段).
有没有办法以编程方式设置"跳过的标题行数",就像加载时在BQ中可以做的那样?
BigQuery可以从Google云端硬盘中读取联合来源.看到这里.我希望能够将BigQuery中的表读入指向Drive文档的Dataflow管道中.
将BigQuery挂接到Drive中的文件非常正常:
但是,当我尝试将该表读入我的Dataflow管道时,我(可以理解)得到以下错误:
找不到合适的凭据来访问Google云端硬盘.联系表所有者以获取帮助.
[..]
PCollection<TableRow> results = pipeline.apply("whatever",
BigQueryIO.Read.fromQuery("SELECT * from [CPT_7414_PLAYGROUND.google_drive_test]"))
.apply(ParDo.of(new DoFn<TableRow, TableRow>() {
[..]
Run Code Online (Sandbox Code Playgroud)
我如何使Dataflow能够从BigQuery中指向Drive的表中读取权限?
我需要为GCP中的服务帐户设置非常细粒度的访问控制.我看到这个错误:
"用户SERVICE_ACCOUNT在项目PROJECT_ID中没有bigquery.jobs.create权限".
我知道通过UI/gcloud util我可以给它角色角色/ bigquery.用户,但它有很多其他权限,我不希望此服务帐户拥有.
如何通过gcloud/UI或其他方式授予个人权限?
我使用Apache Beam SDK在Python中创建了Pipeline,并且Dataflow作业在命令行中运行良好.
现在,我想从UI运行这些工作.为此,我必须为我的工作创建模板文件.我找到了使用maven在Java中创建模板的步骤.
但是我如何使用Python SDK呢?
我正在使用Python客户端库在BigQuery表中加载数据.我需要更新这些表中的一些更改的行.但我无法弄清楚如何正确更新它们?我想要一些类似的UPSERT
功能 - 只有在不存在时插入行,否则 - 更新现有行.
这是在表中使用带校验和的特殊字段(并在加载过程中比较总和)的正确方法吗?如果有一个好主意,如何用Python客户端解决这个问题?(据我所知,它无法更新现有数据)
请解释一下,最佳做法是什么?
如何在 BigQuery 中留下零填充数字,这将生成字符串值?
例如,输入8
应该产生08
等等。
根据定价页面,2016年1月1日将为BigQuery引入新的分层定价模型.
我们希望能够预测这可能对我们的应用程序产生的任何成本影响.因此,我们已经查看了一些更复杂的查询的JSON响应,以查看为其分配了什么"层".
该billingTier
层在JSON响应中清晰可见.
200 OK
- Show headers -
{
"kind": "bigquery#job",
[...]
"totalBytesProcessed": "45319172942",
"query": {
"totalBytesProcessed": "45319172942",
"totalBytesBilled": "45319454720",
"billingTier": 1,
"cacheHit": false
}
Run Code Online (Sandbox Code Playgroud)
这是仅在2016年1月1日新定价模型启动之前分配的默认层(第1层),还是分配给查询的层的真实指示?