我想用一些数据运行机器学习模型。在用这些数据训练模型之前,我需要处理它,所以我一直在阅读一些方法来做到这一点。
首先创建一个 Dataflow 管道将其上传到 Bigquery 或 Google Cloud Storage,然后使用 Google Dataprep 创建一个数据管道来清理它。
我想这样做的另一种方法是使用数据融合,它可以更轻松地创建数据管道,但我不知道,这是我的疑问,数据融合只是创建像 Dataflow 这样的管道,然后我必须使用DataPrep 来清理数据,或者 Data Fusion 是否可以清理数据并准备将其放入我的机器学习模型中。
如果 Data Fusion 可以将数据清理为 DataPrep,那么我应该什么时候使用 DataPrep?
google-cloud-platform google-cloud-dataflow google-cloud-dataprep google-cloud-data-fusion
Google Cloud Dataprep看起来很棒,我们已经使用它手动导入静态数据集,但是我想执行一次以上,以便它可以使用上载到GCS路径的新文件。我可以看到您可以为Dataprep设置时间表,但是在导入设置中的任何地方都看不到它将如何处理新文件。
这可能吗?似乎很明显的需求-希望我错过了明显的东西。
我有一份工作在消息一开始就失败了:
"@*" and "@N" are reserved sharding specs. Filepattern must not contain any of them.
我已将目标位置更改为包含 @ 符号的默认位置(电子邮件地址)以外的其他位置,但我仍然可以看到它在该路径中使用了我无法编辑的临时目标。
有没有人遇到过这个问题?我有一个只有 65,000 行长的文件,我可以在 Data Prep 中预览所有完整的数据,但是当我运行该作业时它会失败,这是非常乏味的,如果这不会运行的话,大约需要 3 小时的时间来清理下水道. (我很欣赏它不是为此设计的,但 Excel 是一匹母马,所以它似乎是一个很好的解决方案!)
编辑 - 添加日志:
2018-03-10 (13:47:34) Value "PTableLoadTransformGCS/Shuffle/GroupByKey/Session" materialized.
2018-03-10 (13:47:34) Executing operation PTableLoadTransformGCS/SumQuoteAndDelimiterCounts/GroupByKey/Read+PTableLoadTran...
2018-03-10 (13:47:38) Executing operation PTableLoadTransformGCS/Shuffle/GroupByKey/Close
2018-03-10 (13:47:38) Executing operation PTableStoreTransformGCS/WriteFiles/GroupUnwritten/Create
2018-03-10 (13:47:39) Value "PTableStoreTransformGCS/WriteFiles/GroupUnwritten/Session" materialized.
2018-03-10 (13:47:39) Executing operation PTableLoadTransformGCS/Shuffle/GroupByKey/Read+PTableLoadTransformGCS/Shuffle/Gr...
2018-03-10 (13:47:39) Executing failure step failure49
2018-03-10 (13:47:39) Workflow failed. Causes: (c759db2a23a80ea): "@*" and "@N" are reserved sharding …Run Code Online (Sandbox Code Playgroud) 要执行源数据准备、数据转换或数据清理,我们应该在什么场景下使用 Dataprep、Dataflow 和 Dataproc?
google-cloud-platform google-cloud-dataflow google-cloud-dataproc google-cloud-dataprep
有没有办法通过 API 触发 Google Dataprep 流程?
我每天需要运行 30 个不同的流程。源数据集每天都在变化,结果必须附加到 Google BigQuery 表中。有没有办法自动化这个过程?源文件是 .xls 文件。我可以将它们上传到云存储并编写一个云函数,将它上传到 Dataprep 需要的任何地方。问题是在 Dataprep 流程中替换源数据集似乎是不可能的。如果是这样,那么计划运行和新的作业运行 API 的意义何在?
我已经在Dataprep中设计了一个数据转换,现在正尝试使用Dataflow中的模板来运行它。我的流程有几个输入和输出-数据流模板将它们作为json对象提供,每个输入和位置都有键/值对。它们看起来像这样(添加了换行符以便于阅读):
{
"location1": "project:bq_dataset.bq_table1",
#...
"location10": "project:bq_dataset.bq_table10",
"location17": "project:bq_dataset.bq_table17"
}
Run Code Online (Sandbox Code Playgroud)
我有17个输入(主要是查找)和2个输出(一个csv,一个bigquery)。我将这些传递给gcloudCLI像这样:
gcloud dataflow jobs run job-201807301630 /
--gcs-location=gs://bucketname/dataprep/dataprep_template /
--parameters inputLocations={"location1":"project..."},outputLocations={"location1":"gs://bucketname/output.csv"}
Run Code Online (Sandbox Code Playgroud)
但是我遇到一个错误:
ERROR: (gcloud.dataflow.jobs.run) unrecognized arguments:
inputLocations=location1:project:bq_dataset.bq_table1,outputLocations=location2:project:bq_dataset.bq_output1
inputLocations=location10:project:bq_dataset.bq_table10,outputLocations=location1:gs://bucketname/output.csv
Run Code Online (Sandbox Code Playgroud)
从错误消息看,它似乎正在合并输入和输出,以便当我有两个输出时,每两个输入都与两个输出配对:
input1:output1
input2:output2
input3:output1
input4:output2
input5:output1
input6:output2
...
Run Code Online (Sandbox Code Playgroud)
我试过引用输入/输出对象(单个和两个,再加上删除对象中的引号),将它们包装成[],使用波浪号,但不高兴。是否有人设法执行具有多个输入的数据流作业?
google-cloud-platform gcloud google-cloud-dataflow google-cloud-dataprep