scala - 直接从 Spark shell 读取 ORC 文件

标签 scala hadoop apache-spark hive pyspark

我在直接从 Spark shell 读取 ORC 文件时遇到问题。注意:运行Hadoop 1.2,和Spark 1.2,使用pyspark shell,可以使用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])

我收到一条错误消息,通常是语法错误。有一次,代码似乎有效,我只使用了传递给 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/

相关文章:

scala - Spark:RDD到列表

java - scala.collections.javaconverters._ 错误 : value map is not a member of java. util.Set

java - Java出现未报告的异常

apache-spark - Spark-SQL 慢查询性能

java - 从插入的 DataSet 获取主键以链接到其他插入

scala - 从 java.lang.Long 创建 Scala 选项时的意外行为

scala - 有条件地向列表添加选项

hadoop - 在Hadoop群集中的特定节点上启动应用程序

python - 使用Python进行Hadoop流传输:跟踪行号

python - Python 中的 Spark 数据帧 - 使用 UDF 时执行卡住