直接从Spark shell读取ORC文件

msl*_*ck3 8 hadoop hive scala apache-spark pyspark

我在从Spark shell直接读取ORC文件时遇到问题.注意:使用pyspark shell运行Hadoop 1.2和Spark 1.2可以使用spark-shell(运行scala).

我使用过这个资源http://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.2.4/Apache_Spark_Quickstart_v224/content/ch_orc-spark-quickstart.html.

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])
Run Code Online (Sandbox Code Playgroud)

我得到一个错误,一般说错误的语法.有一次,代码似乎工作,我只使用传递给hadoopFile的三个参数中的第一个,但是当我尝试使用时

inputRead.first()
Run Code Online (Sandbox Code Playgroud)

输出是RDD [什么都没有].我不知道这是因为inputRead变量没有被创建为RDD,或者根本没有创建它.

我感谢任何帮助!

Sud*_*yam 9

在Spark 1.5中,我能够将我的ORC文件加载为:

val orcfile = "hdfs:///ORC_FILE_PATH"
val df = sqlContext.read.format("orc").load(orcfile)
df.show
Run Code Online (Sandbox Code Playgroud)