当前位置: 首页 > 知识库问答 >
问题:

无法在java中读取SparkSQL中的文件

公羊灿
2023-03-14

请帮帮我,我是一个完全的傻瓜,当涉及到火花和Haddop一般。我的代码如下所示:

public static void main(String[] args) throws IOException {

    String[] jars = {"D:\\customJars\\sparky.jar","D:\\customJars\\guava-19.0.jar"};
      System.setProperty("hadoop.home.dir", "D:\\hadoop-common-2.2.0-bin-master");
        SparkConf sparkConf = new SparkConf().setAppName("com.nucleus.spark.MlibPOC")
                .setMaster("spark://10.1.50.165:7077")
                .setJars(jars);


    JavaSparkContext jsc = new JavaSparkContext(sparkConf);
    SQLContext sqlContext = new SQLContext(jsc);


   DataFrame df = sqlContext.read().json("src/com/nucleus/spark/generated.json");


}

我的Spark集群作为一个集群部署在10.1.50.165中,运行RHEL6,当我运行这段简单的代码时,在尝试读取json文件时,我遇到了如下异常:

共有1个答案

阎经武
2023-03-14

这对我在Spark1.6上起作用:

    scala> val jtex = sqlContext.read.json("file:///opt/test.json")
    jtex: org.apache.spark.sql.DataFrame = [_corrupt_record: string, age: string, id: string, name: string]

    scala> val jtex = sqlContext.read.format("json").option("samplingRatio", "1.0").load("file:///opt/test.json")
    jtex: org.apache.spark.sql.DataFrame = [age: string, id: string, name: string]

    scala> jtex.show()
    +---+----+-------+
    |age|  id|   name|
    +---+----+-------+
    | 25|1201| satish|
    | 28|1202|krishna|
    | 39|1203|  amith|
    | 23|1204|  javed|
    | 23|1205| prudvi|
    +---+----+-------+
 类似资料:
  • 我正在尝试用Java阅读文本,但效果不好。这是我的密码 但是这样的结果 请稍等... 如果此消息最终未被文档的正确内容替换,则PDF查看器可能无法显示此类文档。 您可以通过访问http://www.adobe.com/go/reader_download.升级到适用于Windows®、Mac或Linux®的最新版本的Adobe Reader 有关Adobe Reader的更多帮助,请访问http:

  • 我正在尝试使用SparkSQL将我的数据库导出到我的S3中的镶木地板格式。 我的一张表包含行大小 Spark似乎有一个限制:使用Avro/Parket的Spark作业中的最大行大小。但不确定是否是这样。 有解决方法吗?

  • 我有一个包含以下代码的Eclipse项目: 它不会产生任何错误,并且可以正常工作,但是当我在IntelliJ中重用相同的代码时,它会产生以下错误: 错误:类org.json.simple.JSONObject中的java: constructor JSONObject不能应用于给定的类型;必需:未找到参数:java.lang.String原因:实际参数列表和形式参数列表长度不同 错误:java:找

  • 问题内容: package main &{0xc42000a240}无 0无 没有错误,也没有数据。 从系统头文件读取此路径。 系统:macOS el capiton,go版本go1.8 darwin / amd64 我的最终目标是将此文件读入结构体中。此文件包含系统用户信息。 我可以这样做吗? 我会继续尝试… 问题答案: 您可以为此使用函数: 原始代码中的问题是读到的 长度为0个字节。由于阅读器

  • 加载YAML文件(使用SnakeYAML)时,im得到一个异常“线程中的异常”main“不能为javabean=com.java.envs@3d82c5f3创建property=envs在'reader'第1行第1列:envs:1)im做错了什么?-env应该从envs:的同一位置开始?

  • 我正试图编写一个程序,读取网络中相互交互的节点列表。它以以下格式写入文本文件: 这表示节点1与节点2和节点3交互,节点2仅与节点3交互,等等。 该程序将能够读取该文件,并将删除任何重复的交互,并且如果我输入节点的名称,将能够向我返回节点与其他节点的交互次数。然而,我对Java非常陌生,我首先尝试让它读入文件,尽管我的代码目前没有读入文件。以下是我迄今为止的代码: 任何关于如何解决此问题的帮助都将不