Для Spark 2.1.0 моим предложением было бы использовать head(n: Int)
или take(n: Int)
с isEmpty
, в зависимости от того, что имеет самое ясное намерение для вас.
df.head(1).isEmpty
df.take(1).isEmpty
с эквивалентом Python:
len(df.head(1)) == 0 # or bool(df.head(1))
len(df.take(1)) == 0 # or bool(df.take(1))
Используя df.first()
и df.head()
, оба будут возвращать java.util.NoSuchElementException
, если DataFrame пуст. first()
вызывает head()
напрямую, что вызывает head(1).head
.
def first(): T = head()
def head(): T = head(1).head
head(1)
возвращает массив, поэтому, принимая head
в этом массиве, вызывает java.util.NoSuchElementException
, когда DataFrame пуст .
def head(n: Int): Array[T] = withAction("head", limit(n).queryExecution)(collectFromPlan)
Поэтому вместо вызова head()
используйте head(1)
непосредственно, чтобы получить массив, а затем вы можете использовать isEmpty
.
take(n)
также эквивалентно to head(n)
...
def take(n: Int): Array[T] = head(n)
И limit(1).collect()
эквивалентно head(1)
(уведомление limit(n).queryExecution
в методе head(n: Int)
), поэтому следующие эквиваленты, по крайней мере, от что я могу сказать, и вам не придется поймать исключение java.util.NoSuchElementException
, когда DataFrame пуст.
df.head(1).isEmpty
df.take(1).isEmpty
df.limit(1).collect().isEmpty
Я знаю, что это более старый вопрос, поэтому, надеюсь, это поможет кому-то, кто использует новый версия Spark.
Попытайтесь поместить \перед Вашим пространством для выхода из него.
RewriteRule ^article/with\ spaces.html$ /article/without_spaces.html [R=301,L]
Можно просто выйти из пространства с \
RewriteRule ^article/with\ spaces.html$ /article/without_spaces.html [R=301,L]
А-ч, я нашел решение: используйте стиль regex для показа пространства:
RewriteRule ^article/with\sspaces.html$ ...
, Хотя, я подозреваю, что это соответствовало бы всем другим пробельным символам также (вкладки, и т.д.), но я не думаю, что это будет большой частью проблемы.