问题标签 [scalding]

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.

0 投票
1 回答
286 浏览

java - 如何在 Scalding 中存储输出

我正在尝试将管道输出到不同的目录中,以便每个目录的输出将根据某些 id 进行分桶。所以在一个普通的 map reduce 代码中,我会使用 MultipleOutputs 类,我会在 reducer 中做类似的事情。

所以我想在烫伤时可以这样做

但我觉得你最终会多次重复同一根管道,这会影响整体性能。

还有其他选择吗?

谢谢

0 投票
1 回答
216 浏览

monads - 执行单子

我知道 monad 是一般概念。执行单子呢。它是一个通用概念或设计Patten,也可以在烫伤外使用。

我已经看到新版本的烫伤有执行单子。

0 投票
2 回答
884 浏览

scala - 在没有架构的情况下访问 TSV

我有一个制表符分隔文件(tsv),我不知道其架构,我想使用“Scalding”从每一行中删除第一列。

我知道如果架构已知,那么我可以使用

但问题是我不知道架构,可能会有 6 列或 7 列甚至更多。但它是固定的,我必须删除第一列 .. 任何帮助将不胜感激

0 投票
2 回答
1385 浏览

scala - Scalding read multiple files from HDFS

How can I read all files from a directory on HDFS and process it using scalding. For the local filesystem I use the below

That won't work with HDFS. Does TextLine or JsonLine read directories in addition to files?

0 投票
1 回答
553 浏览

scala - 使用 Scalding 的 HBase 到 Hive 示例

我正在尝试从 HBase 读取数据,对其进行处理,然后写入 Hive。我是 Scalding 和 Scala 的新手。

我已经查看了SpyGlass以从 HBase 读取数据。它运行良好,我可以读取数据,然后将其写入文件。

所以现在的问题是我如何将它写入 Hive。如果有人设法做到这一点,我将不胜感激一个简单的例子或一些帮助来实现这一点。

0 投票
1 回答
115 浏览

scala - 在烫伤中读取存储在文本文件中的公式

问题是我有 2 个文件:第一个文件有 4 列,如

1、桑吉特、60、80

第二个文件有 2 列,如

1,(1-(x/y))>1

现在我想将第二个文件中的公式应用于我将从第一个文件中读取的值 60 和 80。

我已尝试阅读公式列并希望使用上述值计算公式,但无法这样做。

任何形式的帮助将不胜感激。谢谢

编辑:有一个 java api 有帮助。我已将其包含在我的项目中,现在效果很好 评估以字符串形式给出的数学表达式 前往此链接以获取解决方案

0 投票
1 回答
177 浏览

json - Scalding:解析具有不同属性的嵌套 JSON 文件

我有一个嵌套的 JSON 文件,其中每条记录的嵌套部分可能包含一组不同的字段。该字段看起来像这样,尽管这实际上是 avro 版本:

第二个字段“特征”是一个嵌套字段,其中包含多个字段,每条记录都包含一组可能不同的嵌套字段。

因此,如果我有 2 条如下所示的记录:

我需要将上述数据转换为如下所示的内容:

当我使用以下方式读取文件时,我可以手动提取字段:

我想要一些更通用的代码,并且可以弄清楚所有子字段是什么,而无需我明确声明它们中的每一个。

谢谢你的帮助。

0 投票
1 回答
336 浏览

scalding - 如何在 Scalding 中以 Hive 样式的目录结构输出数据?

我们使用 Scalding 进行 ETL 并将输出生成为带有分区的 Hive 表。因此,我们希望分区的目录名称类似于“state=CA”。我们使用 TemplatedTsv 如下:

我们采用How to bucket outputs in Scalding 中的代码示例。这是我们遇到的两个问题:

  • 除了IntelliJ 无法解决:我错过了一些进口吗?我们不想在“fields = ()”语句中显式输入所有字段,因为字段是从 groupBy 语句中的代码派生的。如果明确输入,它们很容易不同步。
  • 这种方法看起来太 hacky,因为我们正在创建一个额外的列,以便 Hive/Hcatalog 可以处理目录名称。我们想知道实现它的正确方法应该是什么?

非常感谢!

0 投票
2 回答
413 浏览

scala - 将标头添加到 TypedPipe

我正在使用scalding 0.12带有TypedPipe. 我想csv用标题将输出写入。我如何添加标题,我看到了“writeHeader=true/false”的选项,但我如何提供标题。

0 投票
1 回答
128 浏览

scala - 使用 scalding 或 scala 删除文件尾记录

我正在尝试使用 Pipe (cascading.pipe.Pipe) 来读取文件。因此,文件中的每条记录都遵循一个模式,但尾部记录除外;每当管道读取代码执行时,它都会抛出异常,因为预告片记录与架构不匹配。管道看起来像:

fieldlst:列表(col1,col2,col3)

val filtersInput = Csv(inputFilePath, separator = "|", fields = fieldlst, skipHeader = true) .read

谁能告诉我一个解决方案。通过读写文件删除预告片似乎是一个简单的解决方案,但为此,我必须读写整个文件,而且文件可能非常大。