问题标签 [google-cloud-dataprep]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
google-cloud-platform - Google Dataprep:将 GCS 文件名另存为列之一
我配置了一个 Dataprep 流。数据集是一个 GCS 文件夹(其中的所有文件)。目标是 BigQuery 表。
由于数据来自多个文件,我希望文件名与结果数据中的列相同。
那可能吗?
google-cloud-dataprep - 按分布在谷歌云数据准备中的多个列中的值计数
我有一个有点复杂的数据转换任务,我无法在 Google Cloud Data prep 中弄清楚。源数据是选民文件信息。CSV 有 10 列(以及许多其他列),其中包含选民的选举参与历史。见截图。简而言之,您投票的最近一次选举包含在 text_election_code_1 中,第二次最近的选举包含在 text_election_code_2 中,依此类推。单元格的值是选举本身的代码,即 GN2016 = 2016 大选。
理想情况下,我想将其转换为查找矩阵来回答诸如“在 GN2016 中具有 id# 的选民是否投票?”之类的问题。和“GN2012 总共有多少人投票?”
就目前的数据而言,很难按选举代码进行计数,因为“GN2012”可能位于 10 列中的任何 1 列中。即在 GN2012 下面的屏幕截图中,前 2 行的第 3 列和第 3 行的第 2 列。
我以前用 SQL 做过这个,但我不知道如何在云数据准备中做到这一点。谁能引导我朝着正确的方向前进?
当前数据形状(屏幕截图中省略了其他 PII 列)
理想的数据形状(也许)
google-cloud-dataprep - Google Cloud Dataprep:将文件参数元数据添加为列值
我想摄取一个充满文件的 GCS 文件夹,这些文件的文件名中都有日期,例如/foo_2018-08-22.txt
和/foo_2018-08-23.txt
. 对于每个文件,我想将数据的日期(来自文件名)添加为列中的值,以便来自第一个文件的所有行都标记为 2018-08-22 等等。我知道如何手动为单个文件执行此操作,但是有没有办法为整个文件执行此操作?我玩过“参数化数据集”,但不知道如何将那些已识别参数的值提取到公式值中。
google-cloud-platform - 向 GCP 上的数据流作业添加更多工作人员
我正在创建一个将 CSV 导入 BQ 的数据准备流程。这工作正常,但需要很长时间。即使对于非常小的文件。有没有办法在工作中增加更多的工人?maxNumWorkers 默认始终为 1。
克里斯
google-cloud-platform - Google Dataprep 与消息代理的集成
是否可以在 Dataprep 作业中读取 Kafka 或 Google Pub/Sub 表格?
如果是这样,在调试生产流程时,在“哦,如此快速、实时且响应迅速”的视觉工作室(减去购买或下载工具的能力)上编辑样本时,我应该期待任何“最佳实践”部署注意事项(相同的“数据类型”)是在除此类工具(在我们最喜欢的 IDE 上编码 Scala/Java)之外的任何东西上执行的吗?
google-bigquery - BigQuery 无法从 DataPrep 导入数据
我在 BigQuery 中创建了按日期分区的表,它具有 Date 类型。DataPrep 也具有相同数据类型的相同列。当我尝试将数据从 dataprep 加载到 bigquery 表时,我收到类似“数据集中的列数据类型必须与目标列数据类型匹配”的错误。截图也附上,请过一下,给我一个解决方案。在此处输入图像描述
timestamp - 无法将时间戳从 dataprep 加载到 bigquery
我正在为聚合目的安排DataPrep作业。这项工作只是整合来自Bigquery的原始数据并将其放回另一个 bigquery 表中。配方中有一个时间戳列(用作表分区的分区键),但在尝试运行作业时出现以下错误。
请注意,不是 Integer、Float 或 Boolean 的列将被转换为 String。
我无法更新 bigquery 中的数据类型,因为该列用作分区键(应该是日期/时间戳格式)。我该如何解决这个问题?
machine-learning - 是否可以在 Google Dataprep 中拆分数据集?如果是这样,怎么做?
我一直在研究 Google Dataprep 作为 ETL 解决方案,在将其提供给机器学习平台之前执行一些基本的数据转换。我想知道是否可以使用 Dataprep/Dataflow 工具将数据集拆分为训练、测试和验证集。理想情况下,我希望对目标列进行分层拆分,但对于初学者,我会选择按整体百分比进行简单的均匀随机拆分(例如 50% 训练、30% 验证、20% 测试)。
到目前为止,我还没有找到任何关于 Dataprep 是否可以实现的信息,所以我想知道是否有人明确知道这是否可行,如果可以,如何实现。
编辑 1
感谢@jakub-janoštík 让我朝着正确的方向前进!我稍微修改了您的答案,并提出了以下内容(以争吵的形式):
通过在单独的步骤中分配随机值,我得到了我正在寻找的保证百分比分割。流程最终看起来像这样:
编辑 2
我刚刚也想出了如何进行分层拆分,所以我想我会添加它以防其他人尝试这样做。这是粗略的步骤:
- 根据您所针对的任何子群体(例如 target0、target1)拆分您的数据集
- 对于每个子群体,进行上述的统一随机分割(例如,现在你有 target0-train、target0-test、target0-validation、target1-train 等)
- 对于每个集合类型(即训练、测试、验证):
- 从其中一组创建新配方
- 编辑配方,并使用联合变换将其与相同类型的其他数据集合并(例如 target0-train 与 target1-train 的联合)。联合按钮位于编辑配方页面工具栏的中间。
我希望这对某人有帮助!
date - DataPrep - 查找第一个日期
使用 DataPrep,我试图根据 Order_Date 识别 2 个日期,(1) 第一个订单日期和 (2) 最新订单日期。我使用 min 和 max 函数来查找第一个和最后一个订单日期,但是,结果是一个整数。当我尝试转换为日期时(假设此整数是 1900 年 1 月 1 日之后的秒数),结果日期不正确。
会有更好的方法来计算这个吗?
google-cloud-dataflow - GCP Dataflow API 不评估在 dataprep 上编写的配方中调用的 now/today() 函数
在启动 API dataflow.projects.locations.templates.launch(我也测试过“create”api)之后,在 dataprep 上生成了一个模板,使用 today() 函数生成了一个列(我也测试了“now()” function) 似乎在作业执行期间没有被评估。报告的日期始终填写第一次创建模板的日期。
这是正确的行为吗?为什么该列未填充作业启动的日期?