标签: hadoop

错误在LINUX COMMAND LINE运行HIVE .. java版本= 1.7,HADOOP 2.3.0,Apache HIVE 1.1.0

root@hadoop:~# hive
Run Code Online (Sandbox Code Playgroud)
Logging initialized using configuration in jar:file:/usr/lib/hive/apache-hive-1.1.0-bin/lib/hive-common-1.1.0.jar!/hive-log4j.properties
[ERROR] Terminal initialization failed; falling back to unsupported
java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected
        at jline.TerminalFactory.create(TerminalFactory.java:101)
        at jline.TerminalFactory.get(TerminalFactory.java:158)
        at jline.console.ConsoleReader.<init>(ConsoleReader.java:229)
        at jline.console.ConsoleReader.<init>(ConsoleReader.java:221)
        at jline.console.ConsoleReader.<init>(ConsoleReader.java:209)
        at org.apache.hadoop.hive.cli.CliDriver.getConsoleReader(CliDriver.java:773)
        at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:715)
        at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:675)
        at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:615)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:212)

Exception in thread "main" java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected
        at jline.console.ConsoleReader.<init>(ConsoleReader.java:230)
        at jline.console.ConsoleReader.<init>(ConsoleReader.java:221)
        at jline.console.ConsoleReader.<init>(ConsoleReader.java:209)
        at org.apache.hadoop.hive.cli.CliDriver.getConsoleReader(CliDriver.java:773)
        at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:715)
        at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:675)
        at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:615)
        at …
Run Code Online (Sandbox Code Playgroud)

hadoop hive

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

当我们不在Mapreduce中使用Combiner时?

每个Hadoop开发人员都知道Combiner是优化mapreduce的关键,但是它是可选的。它可以最小化带宽并提高mapreduce作业的性能。在这里,我的问题是,hadoop会将许多功能默认设置为数据局部性问题,而不是将Combiner设置为默认值。为什么?这意味着在所有情况下都不推荐使用合并器吗?什么时候不使用组合器?如果我将其设置为默认值,会有什么问题?

hadoop mapreduce

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

如何在Apache Pig中对多个展平列进行分组

我有3种不同模式的数据:

(1, 12, 43) 
(1, 6, 20) 
(2, 8, 43) 
(2, 5, 13)`
Run Code Online (Sandbox Code Playgroud)

我尝试将$ 0分组,我输出为

(1, {(1,12,43), (1,6,20)})
(2, {(2,8,43), (2,5,13)}
Run Code Online (Sandbox Code Playgroud)

我们怎么能产生像,

(1, {12,6}, {43,20}) 
(2, {8,5}, {43,13})
Run Code Online (Sandbox Code Playgroud)

hadoop apache-pig

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

了解HIVE数据库中的映射器和reducer

我正在学习班上的大数据,现在我们正在学习HIVE.我们今天了解了地图绘制器和减速器,但老实说它已经超越了我的脑海.有人可以向我解释映射器和减速器在每一步中的作用吗?或者至少指出一些好的读数?提前致谢

database hadoop hive bigdata

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

使用Hadoop分布式缓存时出现FileNotFoundException

这次有人应该放心,我正在努力使用分布式的cahe运行我的代码.我已经在hdfs上的文件,但当我运行此代码时:

import java.awt.image.BufferedImage;
import java.awt.image.DataBufferByte;
import java.awt.image.Raster;
import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
import java.io.DataInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URISyntaxException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.imageio.ImageIO;
import org.apache.hadoop.filecache.*;
import org.apache.hadoop.fs.FileSystem;

import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.*;
import org.apache.hadoop.mapred.*;
import java.lang.String;
import java.lang.Runtime;
import java.net.URI;
import java.util.StringTokenizer;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataInputStream;

public class blur2 {
public static class BlurMapper extends MapReduceBase implements Mapper<Text, BytesWritable, LongWritable, BytesWritable>
{
    OutputCollector<LongWritable, BytesWritable> goutput;

    int IMAGE_HEIGHT = 240;
    int IMAGE_WIDTH = 320;
    public BytesWritable …
Run Code Online (Sandbox Code Playgroud)

java distributed caching hadoop

-1
推荐指数
1
解决办法
3986
查看次数

为什么要使用Hadoop?

我对Hadoop的使用感到困惑.我不明白何时何地使用Hadoop.

Hadoop是一个开源框架,允许使用简单的编程模型在跨计算机集群的分布式环境中存储和处理大数据.它旨在从单个服务器扩展到数千台计算机,每台计算机都提供本地计算和存储.

根据定义,这项工作也可以通过Oracle,MSSQL等其他数据库完成,即跨集群存储和处理数据.那么使用Hadoop还有什么优势呢?

java hadoop

-1
推荐指数
1
解决办法
231
查看次数

SparkStreaming WordCount错误/语法

我指的是https://github.com/apache/spark/blob/master/examples/src/main/java/org/apache/spark/examples/streaming/JavaDirectKafkaWordCount.java并尝试构建Spark wordcount示例,但有些代码未在Eclipse中编译并显示以下错误.

抛出错误的代码是:


JavaDStream<String> words = lines.flatMap(new FlatMapFunction<String, String>() {
      @Override
      public Iterator<String> call(String x) {
        return Arrays.asList(SPACE.split(x)).iterator();
      }
    });
Run Code Online (Sandbox Code Playgroud)

编译错误:

返回类型与FlatMapFunction.call(String)不兼容

这里有详细信息:Spark 1.6.1,Java 1.7_67,Eclipse Kepler,CDH5.7我尝试过更改JDK版本并将所有Hadoop Jars添加为外部Jar,Maven依赖项,但此错误仍然存​​在.

java hadoop word-count apache-spark spark-streaming

-1
推荐指数
1
解决办法
1481
查看次数

黑斑羚 vs 蜂巢。Impala 如何绕过 MapReduce?

Impala 如何在查询处理中实现比 Hive 更低的延迟?

我正在浏览http://impala.apache.org/overview.html,其中说明:

为了避免延迟,Impala 绕过 MapReduce,通过专门的分布式查询引擎直接访问数据,该引擎与商业并行 RDBMS 中的查询引擎非常相似。结果是性能比 Hive 快几个数量级,具体取决于查询和配置的类型。

Impala 如何在没有 MapReduce 的情况下获取数据(如在 Hive 中)?

能不能说Impala更接近HBase,应该和HBase比,而不是和Hive比?

编辑:

或者我们可以说,像经典一样,Hive 位于 MapReduce 之上并且确实需要更少的内存来工作,而 Impala 在内存中完成所有工作,因此它需要更多的内存来工作,因为数据已经被缓存在内存中并根据请求采取行动?

hadoop hive impala

-1
推荐指数
1
解决办法
526
查看次数

线程“main”中出现异常 java.lang.NoClassDefFoundError: org/apache/hadoop/fs/StreamCapability。不存在版本问题

我正在尝试将数据从 aws s3 读取到 Java 中的 dataset/rdd 中。我在 IntelliJ 上运行 Java 中的 Spark 代码,因此也在 pom.xml 中添加了 Hadoop 依赖项

下面是我的代码和 pom.xml 文件。

    import org.apache.spark.api.java.JavaRDD;
    import org.apache.spark.sql.SparkSession;
    import org.apache.spark.api.java.JavaSparkContext;

    public class SparkJava {

        public static void main(String[] args){

            SparkSession spark  = SparkSession
                    .builder()
                    .master("local")
                    .config("spark.hadoop.fs.s3a.impl","org.apache.hadoop.fs.s3a.S3AFileSystem")                  
                    .config("spark.hadoop.mapreduce.fileoutputcommitter.algorithm.version", "2")
                    .config("fs.s3n.awsAccessKeyId", AWS_KEY)
                    .config("fs.s3n.awsSecretAccessKey", AWS_SECRET_KEY)
                    .getOrCreate();

            JavaSparkContext sc = new JavaSparkContext(spark.sparkContext());
            String input_path = "s3a://bucket/2018/07/28";
            JavaRDD<String> s3aRdd = sc.textFile(input_path);
            long count  = s3aRdd.count();  // THIS IS CAUSING EXCEPTION
            System.out.print(count);
            System.out.print("Finished");         
        }
    }
Run Code Online (Sandbox Code Playgroud)

以下是 pom.xml 的依赖项

<dependencies> …
Run Code Online (Sandbox Code Playgroud)

java hadoop amazon-s3 apache-spark

-1
推荐指数
1
解决办法
5036
查看次数

GCP 上的数据湖、层和 ETL 处理

在此处输入图片说明

我来自本地/Hadoop 数据平台背景,现在想了解在 GCP 云技术上执行此操作的良好做法。

如图所示,我使用 HDFS/Hive 来存储所有 3 个层的数据:“Landing”、“Cleansed”和“Processed”。对于 ETL 过程,我使用了 Spark。这也支持不同的摄取模式:插入新记录、插入以及更新以前的数据。

对于“服务层”,我们使用了 Presto。此外,借助 DeltaLake 等新技术,可以保持几乎相同的架构,以统一的方式支持流处理和批处理。

在 GCP 上,我可以想到以下选项:

选项1:

  • “登陆层”是谷歌存储。
  • DataFlow“ETL过程”将数据转换并加载到“Cleansed Layer”中。“Cleansed Layer”存储为BigQuery表。
  • “清理层”到“处理层”ETL 是在 BigQuery 内部完成的

选项 2:

  • “登陆层”是谷歌存储。
  • DataFlow/DataProc “ETL 过程”将数据转换并存储在“Cleansed Layer”中。“Cleansed Layer”存储在 Cloud Store 中。
  • “清理层”到“处理层”ETL 是使用 DataFlow/DataProc 完成的,“处理层”也在 Cloud Store 中。
  • “服务层”是 BigQuery 表。BigQuery 加载的“处理层”是通过非规范化完成的,以提高 BigQuery 性能。

我的问题:

  1. 如选项 1 中所述:在 BigQuery 本身内部执行 ETL 是一个好习惯吗?(使用 BQ DML 语句)。我的印象是重 ETL 不应该在 BQ 中完成,因为它不是为重数据突变而设计的。
  2. 在选项 2 中:如果数据摄取模式仅为插入,则可以使用 b'q load' 完成 BigQuery 加载的“处理层”。如果我们必须更新以前的数据怎么办?在这种情况下如何使用 bq-load,因为它只支持追加和替换/覆盖模式。仅仅为了更新它的一部分记录而替换一个大表是没有性能的。
  3. 执行 ETL 和处理 BQ …

hadoop apache-spark google-cloud-platform

-1
推荐指数
1
解决办法
363
查看次数