0

我正在通过 Kettle 转换将数据从 mongodb 集合加载到 mysql 表中。首先,我使用 MongodbInput 提取它们,然后使用 json 输入步骤。但由于 json 输入步骤的性能非常低,我想用 javacript 脚本替换它。我是 Javascript 的初学者,即使我尝试了一些东西,kettle javascript 脚本也无法识别任何关键字。

谁能给我示例代码以使用 javascript 将 Json 数据转换为不同的列?

4

2 回答 2

1

要解决您的问题,您需要查看三个方面:

  1. 从 MongoDB 读取
  2. 从 JSON 读取
  3. 从(可能)字符串中读取

从 MongoDB 读取除非您更改了接口,否则 MongoDB 不会返回 JSON,而是返回 BSON 文件(~binary JSON)。您需要查看有关阅读和编写 BSON 的 MongoDB 文档:可能类似于BSON.to()BSON.from()但我不知道。

从 JSON 读取一旦你的 BSON 是 JSON 格式,你可以使用它来读取它,JSON.stringify()它返回一个String.

从(可能)字符串读取如果您想使用 JSON 的功能(为什么还要使用 JSON?),您还想使用JSON.parse()返回 JSON 对象的方法。

我的经验是,将 JSON 对象从一个步骤发送到另一个步骤,使用 aString不是一个坏主意,即在 JavaScript 步骤结束时,将 JSON 对象写入 aString并在下一个 JavaScript 步骤开始时(可以在流的更下游)您将其解析回 JSON 以使用它。

我希望这回答了你的问题。

PS:编写JavaScript步骤需要你学习JavaScript。您不必成为大师,但基础知识是必需的。没有其他办法了。

于 2013-10-12T11:18:22.060 回答
0

您可以使用json 输入步骤来获取此 json 的值并放入公共行

于 2013-10-11T14:41:10.560 回答