小编Mik*_*ant的帖子

Google RE2 的正则表达式测试器

我正在寻找适用于 Google Big Data (RE2) reg 表达式的正则表达式测试器。那里有一些测试人员,但他们似乎都不明白我的说法。这些是我尝试过的,它们适用于简单的表达式,但不适用于我的:

这是我的正则表达式:

^(?:1-)?((?:R|RO|Ro)?[:|.]?\\s?\\d{3}[-|.]?\\d{4}[-|/]F\\d{2}-\\d{2})$

我将在其中处理这样的字符串:

  • 罗708-2859/F07-01
  • RO708-2859-F06-04
  • RO703-3877-F01
  • 1-RO520-0628-F08
  • RO6868847-000-010

有谁知道我如何输入不同的语句或者我可以在哪里测试它?

regex re2

13
推荐指数
1
解决办法
4万
查看次数

如何以编程方式访问"已保存的查询"?

在BigQuery Web UI中,有一个"已保存的查询"部分.
有没有办法以编程方式访问(读/写)那些?
任何API?

google-bigquery

11
推荐指数
1
解决办法
1687
查看次数

如何为 Google BigQuery 上的特定数据集设置权限?

我正在尝试在 BigQuery 上设置权限,以便用户能够查看和查询一个数据集上的表,但能够编辑、创建和删除另一数据集上的表。

我无法弄清楚如何在云平台控制台上执行此“数据集级隔离”。

理想的情况是:

  • Dataset1 - 查看数据和查询表的权限
  • Dataset2 - 查看、查询、创建、编辑和删除表的权限。

关于如何做到这一点有什么想法吗?

permissions dataset google-bigquery

11
推荐指数
1
解决办法
2万
查看次数

如何在BigQuery Standard SQL中生成系列

我需要生成表说,连续600号的每一行中(从51)
我如何做到这一点与BigQuery标准SQL?

google-bigquery

10
推荐指数
2
解决办法
4708
查看次数

如何在 Docker 中创建 .env 文件

我对 Docker 和 .Net Core 还很陌生(多年来一直使用 .Net Framework)。

我创建了一个新的 .Net Core 3 应用程序并将其设置为使用 Docker,然后该应用程序将构建并运行。到目前为止,一切都很好。此应用程序需要连接到 GoogleBigQuery,因此需要将 Google Cloud 凭据存储在环境变量中(花了一个令人沮丧的小时才意识到 Docker 不使用 Windows 环境变量)。

根据我一直 阅读的内容,我只需将它们添加到 .env 文件中,但我的项目目录中没有。

我尝试使用命令行来设置它们,docker run containername:dev --env VAR1=value1但出现以下错误:

docker:来自守护进程的错误响应:OCI 运行时创建失败:container_linux.go:367:启动容器进程导致:exec:“-e”:在 $PATH 中找不到可执行文件:未知。

我还看到了对该docker-compose.yml文件的引用。

我尝试创建 .env 文件并尝试(未成功)使用 CLI 将其与容器关联,如下所示:

docker run -i containername:dev --env-file .env
docker: Error response from daemon: OCI runtime create failed: container_linux.go:367: starting container process caused: exec: "--env-file": executable file not found in $PATH: unknown.
Run Code Online (Sandbox Code Playgroud)

所以我不知道从这里该去哪里。我读过的所有内容似乎都假设您已经有一个 .env,并且我找不到有关手动创建 .env …

docker google-cloud-platform asp.net-core

9
推荐指数
3
解决办法
5万
查看次数

从Apache Beam中的多个文件夹中读取文件,并将输出映射到文件名

继续从多个文件夹中读取文件,然后使用python sdk和dataflow runner将文件名如(filecontents,filename)输出到apache beam中的bigquery.

原本以为我可以为每个文件创建一个pcollection,然后使用文件名映射文件内容.

def read_documents(pipeline):
  """Read the documents at the provided uris and returns (uri, line) pairs."""
  pcolls = []
  count = 0
  with open(TESTIN) as uris:
       for uri in uris:
    #print str(uri).strip("[]/'")
         pcolls.append(
         pipeline
         | 'Read: uri' + str(uri)  >>ReadFromText(str(uri).strip("[]/'"), compression_type = 'gzip')
         | 'WithKey: uri'  + str(uri)   >> beam.Map(lambda v, uri: (v, str(uri).strip("[]")), uri) 
         )
       return pcolls | 'FlattenReadPColls' >> beam.Flatten()
Run Code Online (Sandbox Code Playgroud)

这工作正常,但速度很慢,大约10000个文件后无法在数据流云上工作.如果超过10000个文件,它将遭受破损的管道.

目前正试图从Text.io重载ReadAllFromText函数.Text.io旨在从文件名或模式的pcollection中快速读取大量文件.如果从Google云端存储中读取并且该文件具有内容编码,则此模块中存在错误.谷歌云存储自动枪杀文件并对其进行转码,但由于某些原因,ReadAllFromText无法使用它.您必须更改文件的元数据以删除内容编码,并将ReadAllFromText上的压缩类型设置为gzip.我将此问题包含在内,以防其他人遇到ReadAllFromText问题 https://issues.apache.org/jira/browse/BEAM-1874

我目前的代码看起来像这样

class ReadFromGs(ReadAllFromText):

    def __init__(self):
        super(ReadFromGs, self).__init__(compression_type="gzip")

    def expand(self, pvalue):
        files = …
Run Code Online (Sandbox Code Playgroud)

python google-cloud-platform google-cloud-dataflow apache-beam

8
推荐指数
1
解决办法
1217
查看次数

在 dbt 模型中使用 if 块

很抱歉问了愚蠢的问题。但我尝试了很多不同的方法,但似乎都不起作用。

我需要根据变量从两个不同的表中选择数据。我试图在 dbt 模型中使用 if 语句来做到这一点,但它似乎不起作用。

模型看起来很薄:

SELECT 
*
FROM
{% if enable_whitelisting == 'true' %}
    {{ ref('accounts_whitelisted') }}    accounts
{% else %}
        {{ ref('accounts') }}   accounts
{% endif %}
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏。

提前致谢。

jinja2 dbt

8
推荐指数
1
解决办法
3万
查看次数

如何在Google BigQuery中获取数据集名称,包括"publicdata"

我为google BigQuery创建了jdbc连接,如下所示

    Class.forName("net.starschema.clouddb.jdbc.BQDriver");
    conn = DriverManager.getConnection("jdbc:BQDriver:"projectID"?transformQuery=true&user="client ID"&password="client secret");
Run Code Online (Sandbox Code Playgroud)

然后我得到目录名称如下

 ResultSet m_resultSet = conn.getMetaData().getCatalogs();
 while (m_resultSet.next())
 {
     System.out.println(m_resultSet.getString(4));
 }
Run Code Online (Sandbox Code Playgroud)

但现在我想获取数据集名称.它返回null.

我可以获得publicdata的数据集名称吗?如何??

dataset star-schema google-bigquery

7
推荐指数
1
解决办法
390
查看次数

在 mac zsh 终端上安装 apache-beam[gcp] 时出错 - “zsh:未找到匹配项:apache-beam[gcp]”

我正在使用 zsh,并且我已经安装了 gcloud,以便通过我的 Mac 上的本地终端与 GCP 进行交互。我遇到了这个错误“zsh:找不到匹配项:apache-beam[gcp]”。但是,当我在 GCP 控制台的 bash 终端上直接运行该命令时,并没有出现此类错误。我该如何处理?谢谢你。

google-cloud-platform google-cloud-dataflow apache-beam

7
推荐指数
1
解决办法
1360
查看次数

当 write_disposition='WRITE_TRUNCATE' 时,BigQueryOperator 会更改表架构和列模式

我正在使用 Airflow 的 BigQueryOperator 用 write_disposition='WRITE_TRUNCATE' 填充 BQ 表。问题是,每次任务运行时,它都会将表架构和列模式从“必需”更改为“可空”。我使用的 create_disposition 是“CREATE_NEVER”。由于我的表是预先创建的,因此我不希望更改架构或列模式。使用 write_disposition='WRITE_APPEND' 可以解决该问题,但我的要求是使用 WRITE_TRUNCATE。知道 BigQueryOperator 为什么改变架构和模式吗?

python google-bigquery

7
推荐指数
1
解决办法
4560
查看次数