小编K R*_*ael的帖子

有没有办法在地图中跳过/抛出/忽略Spark中的记录?

我们有一个非常标准的Spark作业,它从s3读取日志文件,然后对它们进行一些处理.非常基本的Spark东西......

val logs = sc.textFile(somePathTos3)
val mappedRows = logs.map(log => OurRowObject.parseLog(log.split("\t")))
val validRows = mappedRows.filter(log => log._1._1 != "ERROR")
...and continue processing
Run Code Online (Sandbox Code Playgroud)

在哪里OurRowObject.parseLine获取原始日志行并将其映射到某个(键,值)对(例如( (1,2,3,4), (5,6,7) ),我们可以进行处理.现在,如果parseLine遇到"问题"日志(格式错误,空白等等),它将返回一些sentinel值(例如( ("ERROR", ...), (...) ),过滤器步骤然后过滤掉.

现在,我一直试图找到的方法是在地图中简单地不包括问题行...某种方式告诉火花"嘿这是一个空/畸形的行,跳过它并且不要' t包括一对",而不是那个额外的过滤步骤.

我还没有找到办法做到这一点,并发现这个功能不存在(AFAICanFind)非常有趣.

谢谢

scala apache-spark

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

如何在IPython中显示动态创建("自定义")函数的源代码?

在IPython会话中,我通常定义自定义函数...问题是,有时我想看到这些函数的实际代码.到目前为止,我还没有找到一种方法来显示它.用?和?? 只返回"动态生成的函数.没有可用的源代码".有没有办法显示用户定义函数的源代码?

python function ipython

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

bash tab 补全 - 不重新打印选项+提示

在 bash 中执行制表符补全时(例如cd dir_ <TAB>),后续点击 会Tab导致重新打印匹配选项列表,每次点击 Tab 键一次(如下图)。每一个新行都是我点击Tab一次,然后重新打印选项(和提示)。

bash 选项卡补全

现在,例如在 zsh 中,此行为已被禁用。在下图中,我输入了内容cd dir_,然后反复点击选项卡。根据需要,提示和可用的完成选项不会重新打印,而是保持原样,位于当前提示下方。

zsh tab 补全

这对于 bash 来说是可能的吗?反复点击 Tab 时,屏幕上充满了所有选项,这非常烦人。

编辑
3 年后,我很高兴地报告我终于使用 zsh,这不再困扰我

bash tab-completion

6
推荐指数
1
解决办法
848
查看次数

标签 统计

apache-spark ×1

bash ×1

function ×1

ipython ×1

python ×1

scala ×1

tab-completion ×1