私は、1つの列がリストで満たされているエントリ、または空のリストだけを含むpysparkデータフレームを持っています。空リストを含むすべての行を効率的にフィルタリングしたい。Pysparkは、.filter()を使用して空のリストをフィルタリングします。
df.filter(sf.col('column_with_lists') != [])
は私に次のエラーが返されます。
Py4JJavaError: An error occurred while calling o303.notEqual.
: java.lang.RuntimeException: Unsupported literal type class
おそらく、私は、リストの長さをチェックし、それは> 0でなければなりません課すことができる(hereを参照してください)。しかし、私はpyspark-sqlを使用していて、filter
でもラムダが許可されている場合、この構文がどのように機能するかはわかりません。
おそらく、私は複数の列を持っていますが、すべてのエントリを削除して、上記のフィルタを1つに適用したいと考えています。リンクされたSOの例は、単一の列でフィルタリングされます。
ありがとうございます!