我在直接从 Spark shell 读取 ORC 文件时遇到问题。注意:运行Hadoop 1.2,和Spark 1.2,使用pyspark shell,可以使用spark-shell(运行scala)。
from pyspark.sql import HiveContext
hiveCtx = HiveContext(sc)
inputRead = sc.hadoopFile("hdfs://user@server:/file_path",
classOf[inputFormat:org.apache.hadoop.hive.ql.io.orc.OrcInputFormat],
classOf[outputFormat:org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat])
我收到一条错误消息,通常是语法错误。有一次,代码似乎有效,我只使用了传递给 hadoopFile 的三个参数中的第一个,但是当我尝试使用
inputRead.first()
输出是 RDD[nothing, nothing]。我不知道这是因为 inputRead 变量没有创建为 RDD,还是根本没有创建。
感谢您的帮助!
最佳答案
在 Spark 1.5 中,我可以将我的 ORC 文件加载为:
val orcfile = "hdfs:///ORC_FILE_PATH"
val df = sqlContext.read.format("orc").load(orcfile)
df.show
关于scala - 直接从 Spark shell 读取 ORC 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30792494/