当我使用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()
答案 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