Java 如何消除Spark表中所有列的元数据?(爪哇)

Java 如何消除Spark表中所有列的元数据?(爪哇),java,dataframe,apache-spark,metadata,multiple-columns,Java,Dataframe,Apache Spark,Metadata,Multiple Columns,我有一个数据帧df,有四列id,ts,lat和lon。如果在调试模式下运行df.schema(),则 0 = {StructField@13126} "StructField(id,LongType,true)" name = "id" dataType = {LongType$@12993} "LongType" nullable = true metadata = {Metadata@13065} "{&

我有一个数据帧
df
,有四列
id
ts
lat
lon
。如果在调试模式下运行
df.schema()
,则

 0 = {StructField@13126} "StructField(id,LongType,true)"
  name = "id"
  dataType = {LongType$@12993} "LongType"
  nullable = true
  metadata = {Metadata@13065} "{"encoding":"UTF-8"}"
 1 = {StructField@13127} "StructField(ts,LongType,true)"
  name = "timestamp"
  dataType = {LongType$@12993} "LongType"
  nullable = true
  metadata = {Metadata@13069} "{"encoding":"UTF-8"}"
 2 = {StructField@13128} "StructField(lat,DoubleType,true)"
  name = "position_lat"
  dataType = {DoubleType$@13034} "DoubleType"
  nullable = true
  metadata = {Metadata@13073} "{"encoding":"UTF-8"}"
 3 = {StructField@13129} "StructField(lon,DoubleType,true)"
  name = "position_lon"
  dataType = {DoubleType$@13034} "DoubleType"
  nullable = true
  metadata = {Metadata@13076} "{"encoding":"UTF-8"}"
现在,我想去掉所有元数据,即,
“{”编码“:“ZSTD”}”
应替换为每个列的
。请注意,我的实际表有许多列,因此解决方案需要有点通用性。提前谢谢你

您可以使用encode(“XX”,“忽略”)

例如:

  Val df=data.map(lambda x: x.encode("ascii", "ignore").
您可以使用encode(“XX”,“忽略”)

例如:

  Val df=data.map(lambda x: x.encode("ascii", "ignore").

你好,谢谢你的回复。关于这一点,我有一些问题:1)什么是“数据”?2) 关闭括号丢失?3) 你能把它作为Java代码而不是Scala发布吗?嗨,谢谢你的回复。关于这一点,我有一些问题:1)什么是“数据”?2) 关闭括号丢失?3) 你能把它作为Java代码而不是Scala发布吗?