【问题标题】:Exception in thread "main" java.io.IOException: No input paths specified in job线程“主”java.io.IOException 中的异常:作业中未指定输入路径
【发布时间】:2016-11-27 13:09:55
【问题描述】:

我正在尝试使用 Java 中的 spark 读取 json 文件。我尝试的一些更改是:

SparkConf conf = new SparkConf().setAppName("Search").setMaster("local[*]");

DataFrame df = sqlContext.read().json("../Users/pshah/Desktop/sample.json/*");

代码:

import java.util.Arrays;
import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.JavaSparkContext;
import org.apache.spark.api.java.function.FlatMapFunction;
import org.apache.spark.api.java.function.Function;
import org.apache.spark.api.java.function.PairFunction;
import org.apache.spark.sql.DataFrame;
import org.apache.spark.sql.SQLContext;
public class ParseData {

public static void main(String args[]){
    SparkConf conf = new SparkConf().setAppName("Search").setMaster("local");
    JavaSparkContext sc= new JavaSparkContext(conf);
    SQLContext sqlContext = new org.apache.spark.sql.SQLContext(sc);
    // Create the DataFrame
    DataFrame df = sqlContext.read().json("/Users/pshah/Desktop/sample.json");
    // Show the content of the DataFrame
    df.show();
}}

错误:

Exception in thread "main" java.io.IOException: No input paths specified in job
at org.apache.hadoop.mapred.FileInputFormat.listStatus(FileInputFormat.java:198)

【问题讨论】:

  • 我无法复制您的问题。能否请您提供带有 JSON 文件的 pastebin?
  • 你确定路径存在吗?看来您指向错误的路径
  • 是的。路径存在。我刚刚尝试再次构建 maven 项目,现在运行良好。感谢您的回复!
  • 问题是代码对于非常简单的 JSON 文件运行良好。但是当我使用嵌套的 json 数据时。我收到以下错误:java.lang.RuntimeException:无法解析数据类型 StructType() 的值(当前令牌:VALUE_STRING

标签: java apache-spark


【解决方案1】:

我写了同样的代码,遇到同样的问题。我将 people.json 文件放在项目目录 src/main/resources 下。原因是程序找不到文件。在我将 people.json 文件复制到程序的工作目录后,程序运行良好

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-30
    • 1970-01-01
    • 2013-11-02
    • 1970-01-01
    • 2013-12-20
    • 1970-01-01
    • 2016-01-09
    • 2020-11-27
    相关资源
    最近更新 更多