作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有一个像这样的日志:
[Pipeline] timestamps
[Pipeline] {
[Pipeline] echo
20:33:05 0
[Pipeline] echo
我试图只在此处提取时间
信息 (20:33:05)。
我已尝试执行以下操作:
val lines = sc.textFile("/logs/log7.txt")
val individualLines=lines.flatMap(_.split("\n")) //Splitting file contentinto individual lines
val dates=individualLines.filter(value=>value.startsWith("[0-9]"))
我得到的输出是
MapPartitionsRDD[3] at filter at DateExtract.scala:30
这里应该如何定义正则表达式?
如有任何帮助,我们将不胜感激。
最佳答案
如果你有一个新行数据的日志文件,你不必拆分
它,你可以简单地读取每一行是一个String
数据
然后通过Character.isDigit
这个函数检查它是否以数字开头
val lines = sc.textFile("/logs/log7.txt")
val dates=lines.filter(value=>Character.isDigit(value.charAt(0)))
.map(_.split(" ")(0))
dates.foreach(println)
如果你想严格匹配时间戳与正则表达式和过滤器不匹配那么你可以使用
val dates=lines.filter(value=>Character.isDigit(value.charAt(0)))
.map(_.split(" ")(0))
.filter(_.matches("""\d{2}:\d{2}:\d{2}"""))
输出:
20:33:05
希望这对您有所帮助!
关于regex - 在 Spark RDD 中使用正则表达式从字符串中提取时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49135078/
给定一个带有多个 date_time 戳的字符串,我想 提取第一个戳及其前面的文本 候选字符串可以有一个或多个时间戳 后续的 date_time 戳记将被 sep="-" 隔开 后续date_time
是否可以合并从相机拍摄的文本和照片?我想在照片上标记日期和时间,但我在 Google 上找不到任何内容。 最佳答案 使用下面的代码来实现你所需要的。 Bitmap src = Bitm
有没有办法通过 Graph API 戳另一个用户?基于this post ,并使用 Graph Explorer ,我发布到“/USERID/pokes”,我已经授予它(Graph API 应用程序和
我有两个向左浮动的元素。一个是 body 的第一个 child ,另一个是容器的第一个 child ,容器是 body 的第二个 child 。 ...
我是一名优秀的程序员,十分优秀!