草庐IT

parquet-format

全部标签

hadoop - 我可以索引 parquet 文件中的列以使其使用 Spark 更快地连接吗

我有两个DataFrame,每个都保存在一个parquet文件中。我需要通过唯一的增量“id”列加入这两个DF。我可以在id列上创建索引以便他们可以更快地加入吗?这是代码//FirstDFwhichcontainafewthousandsitemsvaldfExamples=sqlContext.parquetFile("file:///c:/temp/docVectors.parquet")//SecondDFwhichcontains10millionitemsvaldfDocVectors=sqlContext.parquetFile(docVectorsParquet)//Da

hadoop - 使用 Spark 对 Parquet 文件进行计数操作

我在HDFS中有两组相同的Parquet格式数据。一组按col1排序,另一组未排序。sorted_table约为127GB,unsorted_table约为117GB。大小在这里无关紧要。我使用SparkSQL运行了以下两个查询:selectcol1,count(*)fromsorted_tablewherecol1=someIntgroupbycol1selectcol1,count(*)fromunsorted_tablewherecol1=someIntgroupbycol1我在sparkUI上分析了这些查询,我发现对sorted_table的查询只读取了127MB的数据,而对u

hadoop - hive 在 Spark 上。读取 Parquet 文件

我正在尝试将parquet文件读入Spark上的Hive。所以我发现我应该做这样的事情:CREATETABLEavro_testROWFORMATSERDE'org.apache.hadoop.hive.serde2.avro.AvroSerDe'STOREDASAVROTBLPROPERTIES('avro.schema.url'='/files/events/avro_events_scheme.avsc');CREATEEXTERNALTABLEparquet_testLIKEavro_testSTOREDASPARQUETLOCATION'/files/events/parqu

date - Hadoop 黑斑羚 : Format datatype integer to date/timestamp to use addtime function

我在Impala中使用下表:customer_id|day_id|return_day_idABC2017083020170923BCD2017083020170901不幸的是,day_id和return_day_id字段都是INT而不是日期。如何将它们的数据类型更改为日期,以便我可以在day_id之后的4天内仅使用return_day_id计算不同的customer_id。我是否需要将其转换为日期,然后转换为时间戳,以便我可以使用adddate函数? 最佳答案 其中一条评论正确指出,您需要使用unix_timestamp和from

python - 将数据增量写入 parquet 文件

要从pandas数据框写入parquet,我正在执行以下操作:df=pd.DataFrame(DATA)table=pa.Table.from_pandas(df)pq.write_table(table,'DATA.parquet')但是,如果我假设有1B行,那么它就不能很好地工作,而且它无法放入内存。在那种情况下,我将如何增量写入数据。例如,像这样的东西:DATA=[]BACTCH_SIZE=10000withopen('largefile.csv')asf:fornum,lineinenumerate(f):if(len(DATA)==BATCH_SIZE):pq.write_t

hadoop - 如何将 Parquet 文件转换为 Avro 文件?

我是hadoop和大数据技术的新手。我喜欢将parquet文件转换为avro文件并读取该数据。我在几个论坛上搜索,它建议使用AvroParquetReader。AvroParquetReaderreader=newAvroParquetReader(file);GenericRecordnextRecord=reader.read();但我不确定如何包含AvroParquetReader。我不能够完全导入它。我可以使用spark-shell读取这个文件并且可以将它转换成一些JSON然后可以将该JSON转换为avro。但我正在寻找一个更简单的解决方案。 最佳答

hadoop - 如何处理大量的 Parquet 文件

我在Hadoop上使用ApacheParquet,一段时间后我有一个问题。当我在Hadoop上的Spark中生成Parquet时,它会变得非常困惑。当我说凌乱时,我的意思是Spark作业正在生成大量Parquet文件。当我尝试查询它们时,我正在处理大量查询,因为Spark正在将所有文件合并在一起。你能告诉我正确的处理方法吗,或者我可能会误用它们?您是否已经处理过它,您是如何解决的?更新1:将这些文件合并到一个Parquet中的一些“副业”是否足够好?最好使用什么大小的Parquet文件,一些上下边界? 最佳答案 看看thisGitH

file - avro 和 parquet 格式的数据是否必须在 hadoop 基础设施中写入?

我一直在研究在项目中使用avro、parquet和其他数据源的利弊。如果我从其他不使用Hadoop的人那里接收输入数据,他们是否能够以avro/parquet格式提供此输入数据?到目前为止,我对这些格式的阅读仅限于Hadoop基础设施领域,所以我想知道对于那些只使用Oracle/SQL的人来说,以这种格式提供数据会有多困难。 最佳答案 可以在没有Hadoop的情况下使用这些格式,但这样做的难易程度取决于语言绑定(bind)。例如,在单机上读/写Parquet文件对于Java语言绑定(bind)(甚至称为parquet-mr,其中mr

hadoop - Avro、parquet 和 SequenceFileFormat 在 Hadoop 生态系统中的地位及其效用

我看到在导入和存储到HDFS时使用了不同的文件格式,并且数据处理引擎在执行它们自己的一组过程时也使用这些格式。那么这些文件格式有什么样的区别,以及如何为不同的文件格式做出选择用例。作为新手,它会造成混淆。请帮助相同的人。 最佳答案 选择取决于您所面临的用例,具体取决于您拥有的数据类型、与处理工具的兼容性、模式演变、文件大小、查询类型和读取性能。一般来说:Avro更适合随时间变化的事件数据序列用于在MR作业之间分片的数据集Parquet的柱状格式更适合分析这里有一些可以帮助你的关键写入性能(越多+越快)顺序:+++阿夫罗:++Parq

hadoop - 在 s3 中的多个 Parquet 文件之上创建 Hive 表

我们在s3(parquet文件)中有以下格式的数据集,数据根据行号分为多个parquet文件。data1_1000000.parquetdata1000001_2000000.parquetdata2000001_3000000.parquet...我们有超过2000个这样的文件,每个文件都有数百万条记录。所有这些文件都具有相同的列数和结构。如果我们需要在配置单元中对数据集进行分区,其中一列中有时间戳。我们如何指向数据集并在其之上创建单个Hive外部表以供我们分析,或者可以使用Spark对其进行分析?谢谢。 最佳答案 您可以简单地指