私の問題は、 からsql.Row
としてデータを読み込もうとしているときですString
。私は pyspark を使用していますが、Scala API でもこの問題が発生していると聞きました。
pyspark.sql.Row オブジェクトはかなり非妥協的な生き物です。次の例外がスローされます。
java.lang.ClassCastException: [B cannot be cast to java.lang.String
at org.apache.spark.sql.catalyst.expressions.GenericRow.getString(Row.scala 183)
つまり、フィールドの 1 つがバイト配列として表されています。次の python 印刷構造は機能しません
repr(sqlRdd.take(2))
また
import pprint
pprint.pprint(sqlRdd.take(2))
どちらも ClassCastException になります。
それで..他の人々はこれをどのように行うのですか?私は自分自身を転がし始めました(残念ながらここでコピー/貼り付けすることはできません..)しかし、これは少し車輪の再発明です..またはそう思います。