草庐IT

hadoop - Spark Avro 到 Parquet Writer

问题:对象不可序列化能否请您看看如何解决这个问题。能够像正确打印一样正确阅读它。但是在将记录写入Parquet时对象不可序列化causedby:java.io.NotSerializableException:parquet.avro.AvroParquetWriterSerializationstack:-objectnotserializable(class:parquet.avro.AvroParquetWriter,value:parquet.avro.AvroParquetWriter@658e7ead)请查看并告诉我最好的方法是什么。代码:将Avro记录转换为Parquet

python - 来自 Spark 的 Parquet 文件被检测为 Linux 中的目录

我正在尝试使用Python的parquet模块来读取从本地MapR实例编写的一些Parquet文件。我用来输出这些parquet文件的命令是:df.sqlContext.sql("SQLHERE").write.format("parquet").option("mergeSchema","true").save("/path/to/parquet/test.parquet")这是文件在我的Linux主机上的样子:drwxr-xr-x2maprmapr403Oct513:56igayfvpwrs.parquet不幸的是,当我在这里使用Python(https://pypi.python

hadoop - Parquet 格式的 hive1.1 不支持日期数据类型?

我正在使用来自clouderaCDH5.5的配置单元1.1当我尝试创建如下所示的配置单元内部表时,出现以下错误。hive>createtableacct_IK(acct_idint,acct_nameString,trans_dtdate)>storedasparquet;FAILED:ExecutionError,returncode1fromorg.apache.hadoop.hive.ql.exec.DDLTask.java.lang.UnsupportedOperationException:Parquetdoesnotsupportdate.SeeHIVE-6384我需要将配

java - 如何使用 Java 在 HDFS 中创建和填充 Parquet 文件?

在没有Hive或Impala库支持的情况下,使用Java在HDFS中创建和填充Parquet文件的最佳方法是什么?我的目标是将一个简单的csv记录(字符串)写入位于HDFS中的Parquet文件。之前提出的所有问题/答案都令人困惑。 最佳答案 好像parquet-mr是要走的路。他们提供Thrift和Avro的实现。自己的实现应该基于ParquetOutputFormat可能看起来类似于AvroParquetOutputFormat和AvroWriteSupport进行实际转换。 关于j

hadoop - 当 parquet 使用 Snappy 算法而不是 gzip 时,将 parquet 数据写入 hive 的 spark 作业卡在了最后一个任务中

我正在将一个Parquet文件从DataFrame写入Hive。当我使用snappy作为parquet压缩算法时,我可以看到所有任务,但1个任务在写作阶段迅速完成(例如30/31)。由于大量的gc进程,最后一项任务需要很长时间才能完成。当我使用gzip作为parquet压缩算法时,一切都会正常。我想知道两种压缩算法有什么不同。 最佳答案 gzip自然受到Hadoop的支持。gzip基于DEFLATE算法,它结合了LZ77和霍夫曼编码。GZIP压缩比Snappy使用更多CPU资源,但提供更高的压缩率。GZip通常是冷数据的好选择,不经

java - 在 native Java map reduce 中将 Parquet FIXED_LEN_BYTE_ARRAY 转换为 DECIMAL

我的底层数据是使用HIVE输出格式(org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat)编写的尝试使用nativeJavaMapreduce读取此数据byte[]b=value.getBinary(value.getType().getFieldIndex(field),0).getBytes();HiveDecimalhd=HiveDecimal.create(b,true);此处的值是org.apache.parquet.example.data.Group类型hd在这种情况下变为NULL。但下面对字符串/整

hadoop - 损坏的 Parquet 文件

我在尝试使用spark读取parquet文件时遇到问题。prquet文件由sqoop创建:sqoopimport\--connectjdbc:teradata:///Database=\--connection-managerorg.apache.sqoop.teradata.TeradataConnManager\--username\--password\--tableOFFERING\--target-dir/DWH/OFFERING\--as-parquetfile\--compress\--compression-codecorg.apache.hadoop.io.compr

hadoop - Hive parquet snappy 压缩不起作用

我正在使用表格属性创建一个表格骨架TBLPROPERTIES('PARQUET.COMPRESSION'='SNAPPY')(因为文件是Parquet格式)并在创建表之前设置一些参数:sethive.exec.dynamic.partition.mode=nonstrict;setparquet.enable.dictionary=false;sethive.plan.serialization.format=javaXML;SEThive.exec.compress.output=true;SETmapred.output.compression.type=BLOCK;setavro

apache-spark - PySpark:如何在读取 Parquet 时读取分区列

我将数据存储在Parquet文件和按年、月、日分区的配置单元表中。因此,每个parquet文件都存储在/table_name/year/month/day/文件夹中。我只想读入部分分区的数据。我有如下各个分区的路径列表:paths_to_files=['hdfs://data/table_name/2018/10/29','hdfs://data/table_name/2018/10/30']然后尝试做类似的事情:df=sqlContext.read.format("parquet").load(paths_to_files)但是,我的数据不包含关于年月日的信息,因为这不是数据本身的一

apache-spark - 阅读时忽略了 Spark 中已排序文件的 Parquet 摘要文件 (_metadata)?

我有一个包含不同列和ID的排序数据集。数据集已排序(也使用parquet-tools验证):示例:file1:ID1-10file2:ID10-12file3:ID12-33....我还生成并编写了_metadata和_common_metadata文件。我尝试使用过滤器查询(非常大的)数据集valmydata=spark.read.parquet("s3a://.../mylocation")valresult=mydata.filter(mydata("id")===11)result.explain(true)解释告诉我:==ParsedLogicalPlan==Filter(i