0
私はpyspark(1.6)とelasticsearch-hadoop(5.1.1)を使用しています。ここでes_read_confはSC SparkContextオブジェクトとして、私のESクラスタのちょうど辞書ですrddをヌルのデータフレームに変換する
es_rdd = sc.newAPIHadoopRDD(
inputFormatClass="org.elasticsearch.hadoop.mr.EsInputFormat",
keyClass="org.apache.hadoop.io.NullWritable",
valueClass="org.elasticsearch.hadoop.mr.LinkedMapWritable",
conf=es_read_conf)
:私は経由RDD形式にelasticsearchから自分のデータを取得しています。これは正常に動作し、私はrddオブジェクトをうまく取得します。
私は
df = es_rdd.toDF()
を使用してデータフレームにこれを変換したいが、私はエラーを取得:
sampleSizeが同じエラーになりtoDF方法を与えるValueError: Some of types cannot be determined by the first 100 rows, please try again with sampling
。 pysparkが各フィールドのタイプを判別することができないので、これが発生していると私は理解しています。私はelasticsearchクラスターにすべてnullであるフィールドがあることを知っています。
これをデータフレームに変換する最良の方法は何ですか?