展开

关键词

Hive ORC文件格式存储与测试(Malformed ORC file解决)

采用建表过程中,直接:stored as orc,就可以指定。 然而用传统文本文件导入的方式,再进行查询测试,如select count(*) from table XX. 则会出现:Failed with exception java.io.IOException:java.io.IOException: Malformed ORC file的问题。 找到解决办法,由于TXT文档导入,无法生成ORC数据结构,所以需要先导入临时表,再从临时表中再导到ORC表中。

35610

Hive ORC文件格式

ORC文件格式 在Hive 0.11.0版本引入此功能 ORC 是 Optimized Row Columnar 的缩写,ORC 文件格式提供一种高效的方法来存储Hive数据。 当Hive读取,写入和处理数据时,使用 ORC 文件格式可以提高性能。 state string, zip int ) STORED AS orc tblproperties ("orc.compress"="NONE"); 除此之外,还可以为表指定压缩算法: CREATE tblproperties ("orc.compress"="Zlib"); 通常不需要设置压缩算法,因为Hive会设置默认的压缩算法 hive.exec.orc.default.compress= 我们通常的做法是将 HDFS 中的数据作为文本,在其上创建 Hive 外部表,然后将数据以 ORC 格式存储在Hive中: CREATE TABLE Addresses_ORC STORED AS ORC

3K32
  • 广告
    关闭

    开发者专享福利,1988元优惠券限量发放

    带你体验博客、网盘相册搭建部署、视频渲染、模型训练及语音、文字识别等热门场景。云服务器低至65元/年,GPU15元起

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Hadoop Streaming 读ORC文件

    使用正常的org.apache.orc.mapred.OrcInputFormat读orc文件时每行返回的值是: null {"name":"123","age":"456"} null { 即返回: 123 456 456 789 【重写InputFormat,单文件读取】 package is.orc; import org.apache.hadoop.conf.Configuration ; import org.apache.orc.mapred.OrcInputFormat; import org.apache.orc.mapred.OrcMapredRecordReader; import org.apache.orc.mapred.OrcStruct; import org.apache.orc.Reader; import org.apache.orc.Reader.Options; 对应到orc格式时没找到官方提供的包,只能自己写一个。

    1.3K30

    ORC与Parquet表的压缩

    ORC表压缩 ORC表的压缩,需要通过表属性orc.compress来指定。orc.compress的值可以为NONE、ZLIB、SNAPPY,默认为ZLIB。 首先创建一个非压缩的ORC表: create table compress_orc_none ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' STORED AS orc tblproperties ("orc.compress"="NONE") as select * from compress_2; ? 然后再创建一个使用SNAPPY压缩的ORC表: create table compress_orc_snappy ROW FORMAT DELIMITED FIELDS TERMINATED BY '\ t' STORED AS orc tblproperties ("orc.compress"="SNAPPY") as select * from compress_2; ?

    1.6K20

    Hive使用ORC格式存储离线表

    Apache Hive1.2.1 先看下列式存储的两个代表框架: Apache Parquet比较适合存储嵌套类型的数据,如json,avro,probuf,thrift等 Apache ORC 下面看下具体以orc为例子的场景实战: 需求: 将Hbase的表的数据,加载到Hive中一份,用来离线分析使用。 在hbase中,所以,先建立hive关联hbase的表,然后在建里一个orc的表,用来放数据,sql如下: Sql代码 drop table if exists etldb; --stored as textfile; tblproperties ("orc.compress"="SNAPPY"); --从临时表,加载数据到orc中 insert into table etldb select * from etldb_hbase; (4)加载完成后,就可以离线分析这个表了,用上orc+snappy的组合,查询时比直接 hive关联hbase

    1.3K100

    Presto对ORC格式的优化

    参考文章:https://prestosql.io/blog/2019/04/23/even-faster-orc.html 最近Presto的官网发表了一篇文章,叙述了新版本的Presto对ORC格式读取的性能优化过程 在 TPC-DS benchmark 测试中,对于 ORC 格式新的读取方式 Presto 总的查询耗费时间减少了约5%,CPU使用量减少了约9%。 What improved? 对于ORC各个数据类型的优化 Why exactly is this faster? /src/main/java/io/prestosql/orc/stream/BooleanInputStream.java#L218)。 对使用zlib压缩算法的ORC格式进行测试,结果如下。

    1.4K40

    ORC文件存储格式的深入探究

    然后在找到这个关于ORC的文章。 如果你英文很好,参考这里: https://cwiki.apache.org/confluence/display/Hive/LanguageManual+ORC 一、ORC文件格式 ORC的全称是(Optimized ORC在RCFile的基础上进行了一定的改进,所以与RCFile相比,具有以下一些优势: - 1、ORC中的特定的序列化与反序列化操作可以使ORC file writer根据数据类型进行写出。 - 4、除了上面三个理论上就具有的优势之外,ORC的具体实现上还有一些其他的优势,比如ORC的stripe默认大小更大,为ORC writer提供了一个memory manager来管理内存使用情况。 Data Statistics ORC reader用这个索引来跳过读取不必要的数据,在ORC writer生成ORC文件时会创建这个索引文件。

    3K30

    Hive - ORC 文件存储格式详细解析

    一、ORC File文件结构 ORC的全称是(Optimized Row Columnar),ORC文件格式是一种Hadoop生态圈中的列式存储格式,它的产生早在2013年初,最初产生自Apache 2015年ORC项目被Apache项目基金会提升为Apache顶级项目。ORC具有以下一些优势: ORC是列式存储,有多种文件压缩方式,并且有着很高的压缩比。 文件是可切分(Split)的。 ORC的文件结构如下图,其中涉及到如下的概念: ORC文件:保存在文件系统上的普通二进制文件,一个ORC文件中可以包含多个stripe,每一个stripe包含多条记录,这些记录按照列进行独立存储,对应到 ORC文件格式只支持读取指定字段,还不支持只读取特殊字段类型中的指定部分。 使用ORC文件格式时,用户可以使用HDFS的每一个block存储ORC文件的一个stripe。 三、Java操作ORC 到https://orc.apache.org官网下载orc源码包,然后编译获取orc-core-1.3.0.jar、orc-mapreduce-1.3.0.jar、orc-tools

    4.6K32

    答应我,别在CDH5中使用ORC好吗

    CREATE TABLE orc_test( s1 date, s2 string, s3 string ) STORED AS ORC LOCATION '/fayson/orc_test'; ALTER TABLE orc_test ADD COLUMNS (testing string); INSERT overwrite table orc_test SELECT * FROM orc_test ; INSERT into table orc_test SELECT * FROM orc_test; (可左右滑动) ? string); INSERT overwrite table orc_test SELECT * FROM orc_test; INSERT into table orc_test SELECT 4.ORC文件格式的事务支持尚不完善,具体参考《Hive事务管理避坑指南》,所以在CDH中的Hive中使用ORC格式是不建议的,另外Cloudera Impala也不支持ORC格式,如果你在Hive中创建

    2.2K30

    orc文件格式对常用系统的支持

    1、Hive支持 创建表时指定orc格式即可: create table tmp.orc_test(id bigint, name string, age int) stored as orc TBLPROPERTIES 2、SPARK支持 Spark读: df = spark.read.orc("/tmp/test/orc_data") # 读出来的数据是一个dataframe Spark写: df.write.format ("orc").save("/tmp/test/orc_data2") 3、Hadoop Streaming支持 3.1、读orc文件,输出text hadoop jar /usr/local/hadoop /orc_streaming_test \ -output /tmp/test/orc_streaming_test2 \ -inputformat org.apache.orc.mapred.OrcInputFormat \ -outputformat org.apache.orc.mapred.OrcOutputFormat \ -mapper is.orc.MyMapper -reducer is.orc.MyReducer

    1.2K30

    两种列式存储格式:Parquet和ORC

    ORC文件格式 ORC文件格式是一种Hadoop生态圈中的列式存储格式,它的产生早在2013年初,最初产生自Apache Hive,用于降低Hadoop数据存储空间和加速Hive查询速度。 ORC目前没有支持,仍然使用Parquet作为主要的列式存储格式。 文件结构 和Parquet类似,ORC文件也是以二进制方式存储的,所以是不可以直接读取,ORC文件也是自解析的,它包含许多的元数据,这些元数据都是同构ProtoBuffer进行序列化的。 ORC的文件结构入图6,其中涉及到如下的概念: ORC文件:保存在文件系统上的普通二进制文件,一个ORC文件中可以包含多个stripe,每一个stripe包含多条记录,这些记录按照列进行独立存储,对应到 由于ORC中使用了更加精确的索引信息,使得在读取数据时可以指定从任意一行开始读取,更细粒度的统计信息使得读取ORC文件跳过整个row group,ORC默认会对任何一块数据和索引信息使用ZLIB压缩,因此

    26320

    Flink教程-flink 1.11 流式数据ORC格式写入file

    写入orc工厂类 首先我们要引入相应的pom <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-orc_2.11 如果用户在写入orc文件之后,想添加一些自己的元数据信息,可以覆盖org.apache.flink.orc.vector.Vectorizer#addUserMetadata方法来添加相应的信息。 写入的配置来自https://orc.apache.org/docs/hive-config.html,具体可以是以下的值. key 缺省值 注释 orc.compress ZLIB high level compression = {NONE, ZLIB, SNAPPY} orc.compress.size 262,144 compression chunk size orc.stripe.size orc.bloom.filter.columns ”” comma separated list of column names orc.bloom.filter.fpp 0.05 bloom filter

    1.4K31

    (译)优化ORC和Parquet文件,提升大SQL读取性能

    IBM Db2 Big SQL使用的两种常见文件存储格式是ORC和Parquet,这些文件格式以列格式存储数据,以优化读取和过滤列的子集。 ORC和Parquet格式将有关列和行组的信息编码到文件本身中,因此,在对文件中的数据进行解压缩、反序列化和读取之前,需要处理元数据。 ORC和Parquet提供了它们自己的不同工具来进行文件合并或压缩: ORC使用HIVE DDL Parquet使用工具执行合并命令 ORC文件合并 使用Hive DDL(Hive Data Definition 性能改进 内部测试表明,压缩ORC和Parquet小文件有助于显著提高Big SQL的读取性能。 格式的非压缩表运行查询比在压缩表上运行查询多2倍的时间 在parquet格式的非压缩表运行查询比在压缩表上运行查询多1.6倍的时间 这是针对ORC文件格式的压缩测试的输出,其中SLS_SALES_FACT_ORC

    1.4K30

    Hive异常Failed with exception java.io.IOException:java.io.IOException: Malformed ORC file ....

    原来是我在创建表格的时候,选择的格式是ORC。 而在导入数据的时候,文本文件却非ORC格式的,固报了这个异常! 在这篇博客中,也提到了原因… ORC格式是列式存储的表,不能直接从本地文件导入数据,只有当数据源表也是ORC格式存储时,才可以直接加载,否则会出现上述报错。 解决方案: 将ORC格式的表删除换成textfile存储格式的即可。 先创建一个以textfile格式的临时表先将源文件数据加载到该表,然后再从textfile表中insert数据到ORC目标表中。

    1.1K30

    组件分享之后端组件——一个基于Golang的ORC组件包

    组件分享之后端组件——一个基于Golang的ORC组件包 背景 近期正在探索前端、后端、系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下,形成标准化组件专题,后续该专题将包含各类语言中的一些常用组件 组件基本信息 组件:gosseract 开源协议:MIT License 内容 本节我们分享一个基于Golang的ORC组件包gosseract,当下对于图片识别的需求越来越多,难免我们需要在Go程序下进行图片的处理 ,本节我们就进行分享一个ORC的工具包gosseract,它是通过使用Tesseract c++库进行实现的,如果你想按照服务的方式使用,直接部署https://github.com/otiai10/ocrserver

    16420

    大数据文件格式对比 Parquet Avro ORC 特点 格式 优劣势

    有三个文件格式用于Hadoop集群: Optimized Row Columnar (ORC) Avro Parquet ? Apache ORC ORC(OptimizedRC File)存储源自于RC(RecordColumnar File)这种存储格式,RC是一种列式存储引擎,对schema演化(修改schema需要重新生成数据 )支持较差,而ORC是对RC改进,但它仍对schema演化支持较差,主要是在压缩编码,查询性能方面做了优化。 RC/ORC最初是在Hive中得到使用,最后发展势头不错,独立成一个单独的项目。Hive 1.x版本对事务和update操作的支持,便是基于ORC实现的(其他存储格式暂不支持)。 压缩率:基于列的存储区Parquet和ORC提供的压缩率高于基于行的Avro格式。

    1.2K21

    Warning: Ignoring non-Spark config property: hive.exec.orc.default.stripe.size相关

    此处客户寻求解决方式.2.解决方式:hive.exec.orc.default.stripe.size, "256*1024*1024"stripe的默认大小hive.exec.orc.split.strategy , "BI"以上这两个参数一起使用.3.原理剖析: 见配置可以得知,该配置是针对orc进行相关设置的配置---hive.exec.orc首先我们来看下orc file,ORC File,它的全名是 Optimized Row Columnar (ORC) file,实际上是对RCFile做了一些优化.这种文件格式可比较高效的来存储Hive数据.它的设计目标是来克服Hive其他格式的缺陷.运用ORC ORC File包含一组组的行数据,称为stripes,ORC File的file footer还包含一些额外的辅助信息。 hive源码可知,此配置hive,spark,tez均适用.图片官方提供的配置描述如下所示:HIVE_ORC_SPLIT_STRATEGY("hive.exec.orc.split.strategy",

    10340

    0607-6.1.0-如何将ORC格式且使用了DATE类型的Hive表转为Parquet表

    有些用户在Hive中创建大量的ORC格式的表,并使用了DATE数据类型,这会导致在Impala中无法进行正常的查询,因为Impala不支持DATE类型和ORC格式的文件。 查看test_orc表的DATE类型字段是已修改为STRING ? 使用Hive可以正常查询test_orc表数据 ? 使用Impala查询提示“ORC scans are disabled by --enable_orc_scanner flag” ? 5.查看test_orc_2_parquet表正常,格式转为parquet且访问正常 ? 使用Impala访问test_orc_2_parquet表 ? 2.在C6版本中其实已经支持了ORC格式的表,但默认是禁用的,可以通过在Impala Daemon的高级配置中增加--enable_orc_scanner参数来启用,由于C6版本目前刚支持ORC格式,是否存在问题和风险有待验证

    1.2K30

    Spark Sql 创建 Hive表的压缩格式

    背景本人在测试hive表的parquet和orc文件对应的几种压缩算法性能对比。 建表语句:在最后加STORED AS ORCORC默认的压缩也是snappy,如果想改成其他压缩格式如zlib,可在建表语句最后加STORED AS ORC TBLPROPERTIES('orc.compress ("spark.sql.orc.compression.codec") .doc("Sets the compression codec used when writing ORC files. , the precedence " + "would be `compression`, `orc.compress`, `spark.sql.orc.compression.codec`. , orc.compress, spark.sql.orc.compression.codec.”可以看出parquet.compression或者orc.compress的优先级要比设置spark参数高

    2K10

    扫码关注腾讯云开发者

    领取腾讯云代金券