如何在使用EsSparkSQL.esDF API从spark上的elasticsearch读取时设置charset

时间:2017-02-28 09:48:55

标签: apache-spark elasticsearch

当我使用Elasticsearch-Spark API从Spark上的elasticsearch读取数据时,我遇到了charset问题,因为spark集群不使用utf-8作为默认值。

我想知道在哪里可以将字符集设置为utf-8,在我的编码中如下:

val sqlc = new SQLContext(new SparkContext(conf))
val df = EsSparkSQL.esDF(sqlc, resource).cache()
  • SparkContext?
  • SQLContext?
  • EsSparkSQL?
  • 添加第三个参数cfg:Map [String,String]?

1 个答案:

答案 0 :(得分:0)

实际上,要找到编码spark或elasticsearch的方法是不正确的,这是一个平台问题,所以我们可以从平台或环境中解决它。

当我们将作业提交到群集时,在dfc.A.apply(lambda x: pd.Series(dict(s.split("=") for s in x.split(";")))) # AB ABP AC AF AN AO #0 0.246154 39.3908 3 NaN NaN NaN #1 0.3 9.95901 2 0.333333 NaN NaN #2 0 0 6 1 6 86 #3 0.461538 3.51141 2 NaN NaN NaN 之后添加以下参数可以解决问题:

"--master" yarn-cluster