Spark(v 2.3.2)数据帧正在读取ORC文件中的所有列作为字符串类型。这是正常行为吗?

问题描述 投票:0回答:1

我有一堆CSV文件,正在使用ETL工具Informatica以ORC格式加载到HDFS中。加载到HDFS后,我想提取ORC文件的元数据(列名,数据类型)。

但是当我将ORC文件加载到Spark数据帧中时,所有列都被评估为string类型。我正在使用以下命令来实现这一目标:

df = sqlContext.sql("SELECT * FROM orc.`<HDFS_path>`");
df.printSchema()

我对Spark和HDFS完全陌生。我试图理解为什么每一列都是string类型的结果。使用csv源文件创建ORC时,这是正常行为吗(与我们使用哪种工具无关)?还是我在火花中做某事导致此错误?

apache-spark orc
1个回答
0
投票
的元数据(列名,数据类型)。

使用以下选项

val df = spark.read.format("orc").option("inferschema", "true").load(<path>)
© www.soinside.com 2019 - 2024. All rights reserved.