apache-spark - 如何在 Spark SQL 中对名称中带有前导零的目录使用通配符?
问题描述
在使用 spark read 函数时提到了一些奇怪的行为:
spark.read.json(".../date=2019-08-0[1-9]")//works
spark.read.json(".../date=2019-08-[10-20]")//throws "Path does not exist" but folders definetily exist.
spark.read.json(".../date=2019-08-{10,11,12,13}")//works
spark.read.json(".../date=2019-08-[01-10]")// throws java.io.IOException: Illegal file pattern: Illegal character range near index n
如何用前导零通配范围?
解决方案
[abc]
: 匹配字符集 {a,b,c} 中的单个字符[a-b]
: 匹配字符范围 {a…b} 中的单个字符{ab,cd}
: 匹配字符串集合 {ab, cd} 中的一个字符串
因此,[10-20]
匹配 {1, 0~2, 0} 之一。
date=2019-08-[10-20]
等于date=2019-08-{0,1,2}
,可能没有这样的文件。
推荐阅读
- wordpress - 网站无法在我的笔记本电脑上加载,但在其他设备上正常
- python - 将地图添加到 seaborn 散点图
- sql - SQL Server 按不规则模式分组
- python - 如何将列添加到列表中的所有数据框
- ruby-on-rails - Rails 6 在 url 中使用两个参数为端点创建新路由
- python - 如果导致系列的真值不明确的条件。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()
- algorithm - 我们如何实现优先队列而不是队列到广度优先遍历?
- r - R表仅在更改如何在没有for循环的情况下拥有所有值时才具有值
- php - 判断 Yii 1 应用是否从同域的外部应用登录
- vue.js - 在路由器链接中包装卡片以更改为另一个视图