小编ven*_*ata的帖子

java.io.IOException:无效的int编码

我正在编写mapReduce Job来读取和处理Avrofile.输入文件是Avro输出格式是Avro

当我执行Mapreduce Job时,我在reducer阶段遇到以下异常.当reducer抛出IOException时,我无法在reducer中捕获并消除它.Hue中的错误堆栈跟踪看起来

java.io.IOException: Invalid int encoding
at org.apache.avro.io.DirectBinaryDecoder.readInt(DirectBinaryDecoder.java:113)
at org.apache.avro.io.ValidatingDecoder.readInt(ValidatingDecoder.java:83)
at org.apache.avro.reflect.ReflectDatumReader.readInt(ReflectDatumReader.java:166)
at org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:156)
at org.apache.avro.generic.GenericDatumReader.readRecord(GenericDatumReader.java:177)
at org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:148)
at org.apache.avro.generic.GenericDatumReader.readArray(GenericDatumReader.java:206)
at org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:150)
at org.apache.avro.generic.GenericDatumReader.readRecord(GenericDatumReader.java:177)
at org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:148)
at org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:139)
at org.apache.avro.hadoop.io.AvroDeserializer.deserialize(AvroDeserializer.
Run Code Online (Sandbox Code Playgroud)

谷歌搜索时,我注意到有一张阿帕奇JIRA票(https://issues.apache.org/jira/browse/AVRO-882).没有更新.

我正在使用AVRO-1.7.5,以下是依赖maven

    <dependency>
        <groupId>org.apache.avro</groupId>
        <artifactId>avro</artifactId>
        <version>1.7.5</version>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

任何帮助将非常感激?.谢谢

hadoop avro

7
推荐指数
1
解决办法
1763
查看次数

spark.table 失败并出现 java.io.Exception: No FileSystem for Scheme: abfs

我们有一个自定义文件系统类,它是 hadoop.fs.FileSystem 的扩展。该文件系统的 uri 方案为 abfs:///。已在此数据上创建了外部配置单元表。

CREATE EXTERNAL TABLE testingCustomFileSystem (a string, b int, c double) PARTITIONED BY dt
STORED AS PARQUET
LOCATION 'abfs://<host>:<port>/user/name/path/to/data/'
Run Code Online (Sandbox Code Playgroud)

使用 loginbeeline,我可以查询表并获取结果。

现在我正在尝试使用 spark.table('testingCustomFileSystem') 将同一个表加载到 spark 数据框中,它会抛出以下异常

    java.io.IOException: No FileSystem for scheme: abfs
  at org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:2586)
  at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2593)
  at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:91)
  at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2632)
  at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2614)
  at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:370)
  at org.apache.hadoop.fs.Path.getFileSystem(Path.java:296)
  at org.apache.spark.sql.execution.datasources.CatalogFileIndex$$anonfun$2.apply(CatalogFileIndex.scala:77)
  at org.apache.spark.sql.execution.datasources.CatalogFileIndex$$anonfun$2.apply(CatalogFileIndex.scala:75)
  at scala.collection.immutable.Stream.map(Stream.scala:418)
Run Code Online (Sandbox Code Playgroud)

包含 CustomFileSystem(定义 abfs:// 方案)的 jar 已加载到类路径中并且也可用。

spark.table 如何解析元存储中的 hive 表定义并解析 uri?。

apache-spark apache-spark-sql

6
推荐指数
1
解决办法
876
查看次数

结构化 Spark Streaming 抛出 OOM 异常

我的结构化 Spark Streaming 作业在运行超过 24 小时后失败,并出现以下异常。

Exception in thread "spark-listener-group-eventLog" java.lang.OutOfMemoryError: GC overhead limit exceeded
        at java.math.BigInteger.<init>(BigInteger.java:1114)
        at java.math.BigInteger.valueOf(BigInteger.java:1098)
        at scala.math.BigInt$.apply(BigInt.scala:49)
        at scala.math.BigInt$.long2bigInt(BigInt.scala:101)
        at org.json4s.Implicits$class.long2jvalue(JsonDSL.scala:45)
        at org.json4s.JsonDSL$.long2jvalue(JsonDSL.scala:61)
Run Code Online (Sandbox Code Playgroud)

快速背景:我的结构化 Spark 流工作是将作为新文件(镶木地板)接收的事件提取到 Solr 集合中。因此,源是 8 个不同的 Hive 表(8 个不同的 hdfs 位置)接收事件,而接收器是一个 solr 集合。

配置:

Number Executors: 30
Executor Memory: 20 G
Driver memory: 20 G
cores - 5
Run Code Online (Sandbox Code Playgroud)

生成 hprof 转储文件并加载到 MAT 中以了解原因。转储文件看起来像。这是一个测试环境,数据流TPS(每分钟交易数)非常低,有时根本没有交易。

关于造成此问题的任何线索。不幸的是,我无法分享代码片段。对于那个很抱歉。

在此输入图像描述

在此输入图像描述

apache-spark spark-streaming spark-structured-streaming

5
推荐指数
0
解决办法
535
查看次数

路易吉:一步一步的指示不起作用

我是python的新手,我已经在我的RHEL linux上安装了Luigi-2.0.1.试图运行示例程序

import luigi

class MyTask(luigi.Task) :
        param = luigi.Parameter(default=42)

        def requires(self):
                return SomeOtherTask(self.param)

        def run(self):
                f = self.output.open('w')
                print >>f, 'hello world'
                f.close()

        def output(self):
                return luigi.LocalTarget('/tmp/foo/bar-%s.txt' % self.param)

if __name__ == '__main__':
        luigi.run()
Run Code Online (Sandbox Code Playgroud)

执行以下命令

luigi --module maintask.py MyTask
Run Code Online (Sandbox Code Playgroud)

我收到以下错误.

Traceback (most recent call last):
  File "/usr/bin/luigi", line 5, in <module>
    from pkg_resources import load_entry_point
  File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 2655, in <module>
    working_set.require(__requires__)
  File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 648, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 546, in resolve
    raise DistributionNotFound(req) …
Run Code Online (Sandbox Code Playgroud)

python python-2.7 luigi

0
推荐指数
1
解决办法
1682
查看次数