草庐IT

hadoop - 在 Pig 的 Parquet 上使用 hive 表

我正在尝试在包含两个Parquet文件的文件夹上创建一个具有架构string,string,double的Hive表。第一个parquet文件架构是string,string,double,第二个文件的架构是string,double,string。CREATEEXTERNALTABLEdynschema(trans_datestring,currencystring,ratedouble)STOREDASPARQUETLOCATION'/user/impadmin/test/parquet/evolution/';我正在尝试在pig(0.14)脚本中使用配置单元表。A=LOAD'dy

java - Parquet .io.ParquetDecodingException : Can not read value at 0 in block -1 in file

我已经使用saveAsTable方法在Hive中保存了一个远程数据库表,现在当我尝试使用CLI命令select*fromtable_name访问Hive表数据时,它给出了我的错误如下:2016-06-1510:49:36,866WARN[HiveServer2-Handler-Pool:Thread-96]:thrift.ThriftCLIService(ThriftCLIService.java:FetchResults(681))-Errorfetchingresults:org.apache.hive.service.cli.HiveSQLException:java.io.IO

apache-spark - Parquet 格式的架构演变

目前我们在生产中使用Avro数据格式。在使用Avro的几个优点中,我们知道它在模式演化方面是好的。现在我们正在评估Parquet格式因为它在读取随机列时的效率。所以在前进之前我们的关注点仍然是架构演化.有谁知道在Parquet中是否可以进行模式演变,如果是的话如何是否有可能,如果没有,则为什么不是。一些resources声称这是可能的,但它只能在末尾添加列.这是什么意思? 最佳答案 模式演变可能(非常)昂贵。为了找出模式,您基本上必须读取所有Parquet文件并在读取期间协调/合并它们的模式,这可能会很昂贵,具体取决于数据集中有多少

hadoop - Parquet vs ORC vs ORC with Snappy

我正在对Hive可用的存储格式进行一些测试,并使用Parquet和ORC作为主要选项。我将ORC一次包含在默认压缩中,一次包含在Snappy中。我读过许多文档,指出Parquet与ORC相比在时间/空间复杂度方面更好,但我的测试与我阅读的文档相反。遵循我的数据的一些细节。TableA-TextFileFormat-2.5GBTableB-ORC-652MBTableC-ORCwithSnappy-802MBTableD-Parquet-1.9GB就我的table的压缩而言,Parquet最差。我对上述表格的测试产生了以下结果。行计数操作TextFormatCumulativeCPU-1

hadoop - Avro 与 Parquet

我打算为我的hadoop相关项目使用一种hadoop文件格式。我理解parquet对于基于列的查询和avro对于全扫描或当我们需要所有列数据时是有效的!在我继续选择一种文件格式之前,我想了解一种文件格式相对于另一种文件格式的优缺点。谁能用简单的术语向我解释一下? 最佳答案 Avro是一种基于行的格式。如果你想检索整个数据,你可以使用AvroParquet是一种基于列的格式。如果您的数据包含很多列,但您对列的子集感兴趣,那么您可以使用Parquet当涉及频繁更新数据时,HBase很有用。Avro的检索速度很快,Parquet更快。

file - 与其他格式相比, Parquet 格式的优缺点是什么?

ApacheParquet的特点是:自我描述列格式语言无关与Avro、序列文件、RC文件等相比。我想了解一下这些格式。我已经阅读了:HowImpalaWorkswithHadoopFileFormats,它提供了有关格式的一些见解,但我想知道如何以这些格式中的每一种完成对数据的访问和数据存储。Parquet比其他地板有什么优势? 最佳答案 我认为我可以描述的主要区别与面向记录的格式与面向列的格式有关。面向记录的格式是我们都习惯的格式——文本文件、分隔格式,如CSV、TSV。AVRO比那些更酷,因为它可以随着时间的推移改变模式,例如从

java - 如何在 Java 或 Scala 中从/向 parquet 文件读取和写入 Map<String, Object>?

寻找有关如何读写的简明示例Map从/到Java或Scala中的Parquet文件?这是预期的结构,使用com.fasterxml.jackson.databind.ObjectMapper作为Java中的序列化程序(即使用Parquet寻找等效项):publicstaticMapread(InputStreaminputStream)throwsIOException{ObjectMapperobjectMapper=newObjectMapper();returnobjectMapper.readValue(inputStream,newTypeReference>(){});}pu

java - 使用 Java 将 Json 对象转换为 Parquet 格式而不转换为 AVRO(不使用 Spark、Hive、Pig、Impala)

我有一个场景,使用Java将作为Json对象存在的消息转换为ApacheParquet格式。任何示例代码或示例都会有所帮助。就我发现将消息转换为Parquet而言,正在使用Hive、Pig、Spark。我需要转换为Parquet,而无需仅通过Java涉及这些。 最佳答案 要将JSON数据文件转换为Parquet,您需要一些内存中表示。Parquet没有自己的Java对象集;相反,它重用了其他格式的对象,例如Avro和Thrift。这个想法是Parquet与您的应用程序可能已经使用的对象一起原生工作。要转换您的JSON,您需要将记录转

python - 在不加载到内存的情况下将 HDF5 转换为 Parquet

我有一个存储为HDF5格式的大型数据集(约600GB)。由于这太大而不适合内存,我想将其转换为Parquet格式并使用pySpark执行一些基本数据预处理(规范化、查找相关矩阵等)。但是,我不确定如何在不将其加载到内存的情况下将整个数据集转换为Parquet。我看了这个要点:https://gist.github.com/jiffyclub/905bf5e8bf17ec59ab8f#file-hdf_to_parquet-py,但似乎正在将整个数据集读入内存。我想到的一件事是分block读取HDF5文件并将其增量保存到Parquet文件中:test_store=pd.HDFStore(

python - 保存 pd.DataFrame 时如何强制使用 parquet dtypes?

有没有办法强制parquet文件将pd.DataFrame列编码为给定类型,即使该列的所有值都为空?parquet在其模式中自动分配“null”这一事实阻止我将许多文件加载到单个dask.dataframe中。尝试使用df.column_name=df.column_name.astype(sometype)转换pandas列无效。为什么我会问这个我想将许多parquet文件加载到一个dask.dataframe中。所有文件都是使用df.to_parquet(filename)从尽可能多的pd.DataFrame实例生成的。所有数据框都具有相同的列,但对于某些给定的列,可能仅包含空值。