parquet相关内容
我有一个如下所示的暂存数据目录,我希望能够将 2018 年和 2019 年的数据读入一个数据帧,而无需单独读取和合并. 据我所知,我应该能够将 car_data 目录提供给 spark 并应用一个过滤器,哪个 spark 会向下推?当我尝试这样做时,它说无法推断架构,因此必须手动定义它. 注意:我需要在不将年份文件夹的名称更改为 year=2018 的情况下执行此操作 如何为以下
..
我有一个如下所示的暂存数据目录,我希望能够将 2018 年和 2019 年的数据读入一个数据帧,而无需单独读取和合并. 据我所知,我应该能够将 car_data 目录提供给 spark 并应用一个过滤器,哪个 spark 会向下推?当我尝试这样做时,它说无法推断架构,因此必须手动定义它. 注意:我需要在不将年份文件夹的名称更改为 year=2018 的情况下执行此操作 如何为以下
..
Athena 表“组织"从 s3 中的镶木地板文件读取数据.我需要将列名从 "cost" 更改为 "fee" .数据文件可以追溯到 2018 年 1 月.如果我只是重命名 Athena 中的列,表将无法在 Parquet 文件中找到新列的数据.请告诉我是否有解决方法. 解决方案 您必须更改架构并指向新列“费用" 但这取决于你的情况. 如果您有两个数据集,在一个数据集中它称为“成
..
在读取不一致的模式编写的镶木地板文件组时,我们在模式合并方面遇到了问题.在切换到手动指定架构时,我收到以下错误.任何指针都会有所帮助. java.lang.UnsupportedOperationException:未实现的类型:StringType在 org.apache.spark.sql.execution.datasources.parquet.VectorizedColumnRea
..
在读取不一致的模式编写的镶木地板文件组时,我们在模式合并方面遇到了问题.在切换到手动指定架构时,我收到以下错误.任何指针都会有所帮助. java.lang.UnsupportedOperationException:未实现的类型:StringType在 org.apache.spark.sql.execution.datasources.parquet.VectorizedColumnRea
..
我有一个具有以下架构的 Spark DataFrame df: root|-- k:整数(可为空 = false)|-- v: 数组(可为空 = 真)||-- 元素: struct (containsNull = true)|||-- a: 整数(可为空 = false)|||-- b: double (nullable = false)|||-- c: 字符串 (nullable = true
..
我有一个具有以下架构的 Spark DataFrame df: root|-- k:整数(可为空 = false)|-- v: 数组(可为空 = 真)||-- 元素: struct (containsNull = true)|||-- a: 整数(可为空 = false)|||-- b: double (nullable = false)|||-- c: 字符串 (nullable = true
..
我正在构建一个聚类算法,我需要存储模型以备将来加载.我有一个带有此架构的数据框: val schema = new StructType().add(StructField("uniqueId", LongType)).add(StructField("timestamp", LongType)).add(StructField("pt", ArrayType(DoubleType))).add
..
我正在使用 Spark 流将聚合输出作为镶木地板文件写入使用 SaveMode.Append 的 hdfs.我创建了一个外部表,如: CREATE TABLE 如果不存在 rolluptable使用 org.apache.spark.sql.parquet选项 (路径“hdfs:////"); 我的印象是,如果是外部表,查询也应该从新添加的镶木地板文件中获取数据.但是,似乎新写入的文件没有被提
..
我使用 Spark SQL 以 Parquet 格式编写了一些数据,其中生成的架构如下所示: root|-- stateLevel: struct (nullable = true)||-- count1:整数(可为空 = false)||-- count2:整数(可为空=假)||-- count3:整数(可为空 = false)||-- count4:整数(可为空=假)||-- count5:
..
我想根据特定条件从大型 DataFrame 生成分层的 TFrecord 文件,为此我使用 write.partitionBy().我也在 SPARK 中使用了 tensorflow-connector,但这显然不能与 write.partitionBy() 操作一起使用.因此,除了尝试分两步工作之外,我还没有找到其他方法: 根据我的情况,使用 partitionBy() 重新分区数据帧,并
..
在 Spark 2.1 中我经常使用类似 df = spark.read.parquet(/path/to/my/files/*.parquet) 即使具有不同的架构,也可以加载包含镶木地板文件的文件夹.然后我使用 SparkSQL 对数据框执行一些 SQL 查询. 现在我想尝试 Impala,因为我阅读了 wiki 文章,其中包含诸如: Apache Impala 是一个开源的大
..
我每天收到 100G 文本文件,我希望创建一个可从 Spark 访问的高效“数据库".“数据库"是指对数据执行快速查询的能力(回溯大约一年),每天增量添加数据,最好没有读锁. 假设我想使用 Spark SQL 和 parquet,实现这一目标的最佳方法是什么? 放弃并发读/写并将新数据附加到现有的镶木地板文件中. 为每一天的数据创建一个新的镶木地板文件,并利用 Spark 可以加载多
..
我正在尝试从 SparkSQL 写入和读取 Parquet 文件.由于模式演变的原因,我想在我的写入和读取中使用 Avro 模式. 我的理解是,这可以在 Spark 之外(或在 Spark 中手动)使用例如AvroParquetWriter 和 Avro 的通用 API.但是,我想使用 SparkSQL 的 write() 和 read() 方法(与 DataFrameWriter 和 Da
..
当我将 Spark DataFrame 保存为 parquet 文件然后读回它时,生成的 DataFrame 的行与原始数据不同,如下面的会话所示.这是 DataFrames 或镶木地板文件的“功能"吗?以保留行顺序的方式保存 DataFrame 的最佳方法是什么? >>>将 numpy 导入为 np>>>将熊猫导入为 pd>>>pdf = pd.DataFrame(np.random.rand
..
我在嵌入式本地模式下使用 Apache Spark.我的 pom.xml 和相同版本(spark-core_2.10、spark-sql_2.10 和 spark-hive_2.10)中包含所有依赖项. 我只想运行一个 HiveQL 查询来创建一个表(存储为 Parquet). 运行以下(相当简单的)代码: 公共类应用{public static void main(String[]
..
我正在尝试从 SparkSQL 表(S3 中的镶木地板)中有效地选择单个分区.但是,我看到 Spark 打开表中所有镶木地板文件的证据,而不仅仅是那些通过过滤器的文件.这使得对于具有大量分区的表来说,即使是小查询也很昂贵. 这是一个说明性示例.我使用 SparkSQL 和 Hive 元存储在 S3 上创建了一个简单的分区表: #制作一些数据df = pandas.DataFrame({'p
..
我有一个镶木地板文件 /df 保存在具有 120 个分区的 hdfs 中.hdfs 上每个分区的大小约为 43.5 M. 总尺寸 hdfs dfs -du -s -h/df5.1 克 15.3 克/df hdfs dfs -du -h/df43.6 M 130.7 M/df/pid=043.5 M 130.5 M/df/pid=1...43.6 M 130.9 M/df/pid=119
..
我似乎无法编写拼花 JavaRDD ,其中 T 是一个说,Person 类.我把它定义为 public class Person 实现了Serializable{private static final long serialVersionUID = 1L;私人字符串名称;私人字符串年龄;私人地址地址;.... 与地址: 公共类地址实现Serializable{private static
..
我有一个如下所示的数据框. itemName, itemCategory姓名 1, C0名称2,C1名称3,C0 我想将此数据框保存为分区镶木地板文件: df.write.mode("overwrite").partitionBy("itemCategory").parquet(path) 对于这个数据框,当我读回数据时,它会有itemCategory的数据类型字符串. 但是有时,我
..