parquet相关内容
如何从不是程序驱动程序部分的例程中执行 spark sql 查询? from pyspark import SparkContext从 pyspark.sql 导入 SQLContext从 pyspark.sql.types 导入 *def doWork(rec):data = SQLContext.sql("select * from zip_data where STATEFP ='{sfp
..
我有一个 DataFrame,我正在尝试 partitionBy 一列,按该列对其进行排序并使用以下命令以镶木地板格式保存: df.write().format("parquet").partitionBy("dynamic_col").sortBy("dynamic_col").save("test.parquet"); 我收到以下错误: reason: User class throw
..
我只是想知道人们对从 Hive 读取与从 .csv 文件或 .txt 文件或 .ORC 文件或 .parquet 文件读取有何看法.假设底层 Hive 表是一个具有相同文件格式的外部表,您更愿意从 Hive 表中读取还是从底层文件本身读取,为什么? 迈克 解决方案 tl;dr : 我会直接从镶木地板文件中读取它 我使用的是 Spark 1.5.2 和 Hive 1.2.1对于
..
我正在尝试使用 Spark 2.1 测试如何在 HDFS 2.7 中写入数据.我的数据是一个简单的虚拟值序列,输出应按属性进行分区:id 和 key. //用于转换数据的简单 case 类case class SimpleTest(id:String, value1:Int, value2:Float, key:Int)//要存储的实际数据val testData = Seq(SimpleTes
..
我测试了写作: df.write.partitionBy("id", "name").mode(SaveMode.Append).parquet(文件路径) 但是,如果我省略分区: df.write.mode(SaveMode.Append).parquet(文件路径) 它的执行速度提高了 100 倍(!). 相同数量的数据在分区时写入时间要长 100 倍是否正常? 分别有
..
我的团队正在构建一个 ETL 过程,以使用 Spark 将原始分隔文本文件加载到基于 Parquet 的“数据湖"中.Parquet 列存储的承诺之一是查询只会读取必要的“列条纹". 但是我们看到为嵌套架构结构读取了意外的列. 为了演示,这里是一个使用 Scala 和 Spark 2.0.1 shell 的 POC: //初步设置sc.setLogLevel("信息")导入 org.
..
社区! 请帮助我了解如何使用 Spark 获得更好的压缩率? 让我描述一下案例: 我有数据集,我们将其称为 HDFS 上的 产品,它是使用 Sqoop ImportTool 作为镶木地板文件使用编解码器 snappy 导入的.作为导入的结果,我有 100 个文件,总共 46 GB du,文件大小不同(最小 11MB,最大 1.5GB,平均 ~ 500MB).记录总数略高于 80
..
本例中来自 spark-sql 的列名来自 case 类 Person. case class Person(name: String, age: Int)val people: RDD[Person] = ...//一个案例类对象的 RDD,来自前面的例子.//RDD通过createSchemaRDD隐式转换为SchemaRDD,允许使用Parquet存储.people.saveAsParqu
..
我的项目中有一个场景,我正在使用 spark-sql-2.4.1 版本读取 kafka 主题消息.我能够使用结构化流处理这一天.收到数据并进行处理后,我需要将数据保存到 hdfs 存储中的相应镶木地板文件中. 我能够存储和读取镶木地板文件,我将触发时间保持在 15 秒到 1 分钟之间.这些文件非常小,因此导致文件很多. 这些 parquet 文件需要稍后通过 hive 查询读取.
..
我有一张镶木地板,其中一列是 , array> 可以使用 LATERAL VIEW 语法在 Hive 中针对此表运行查询. 如何将这张表读入RDD,更重要的是如何在Spark中对这个嵌套集合进行过滤、映射等操作? 在 Spark 文档中找不到任何对此的引用.提前感谢您提供任何信息! ps.我觉得在桌面上提供一些统计数据可能会有所帮助.主表中的列数 ~600.行数~20
..
我无法找到允许使用 Python 编写 Parquet 文件的库.如果我可以结合使用 Snappy 或类似的压缩机制,我会加分. 到目前为止,我发现的唯一方法是使用带有 pyspark.sql.DataFrame Parquet 支持的 Spark. 我有一些脚本需要编写非 Spark 作业的 Parquet 文件.是否有任何方法可以在 Python 中编写不涉及 pyspark.sq
..
Spark 生成了多个小型镶木地板文件.如何有效地处理生产者和消费者 Spark 作业上的少量镶木地板文件. 解决方案 import org.apache.hadoop.mapreduce.InputSplit;导入 org.apache.hadoop.mapreduce.RecordReader;导入 org.apache.hadoop.mapreduce.TaskAttemptCont
..
我正在将一个集合从 MongodB 导入到 Spark.所有文档都有字段 'data',该字段又是一个结构体,并且具有字段 'configurationName'(始终为空). val partitionDF = spark.read.format("com.mongodb.spark.sql.DefaultSource").option("database", "db").option("co
..
我正在尝试使用 spark 1.6.2 将 MySQL 远程表转换为镶木地板文件. 该进程运行 10 分钟,填满内存,然后从这些消息开始: WARN NettyRpcEndpointRef: 1 次尝试发送消息 [message = Heartbeat(driver,[Lscala.Tuple2;@dac44da,BlockManagerId(driver, localhost, 4615
..
我正在尝试使用 Apache Spark SQL 将 S3 中的 json 日志数据也写入 S3 上的 Parquet 文件中.我的代码基本上是: import org.apache.spark._val sqlContext = sql.SQLContext(sc)val data = sqlContext.jsonFile("s3n://...", 10e-6)data.saveAsParq
..
我正在尝试将 Parquet 数据加载到 PySpark 中,其中列的名称中有一个空格: df = spark.read.parquet('my_parquet_dump')df.select(df['Foo Bar'].alias('foobar')) 即使我为该列设置了别名,我仍然收到此错误,并且从 PySpark 的 JVM 端传播错误.我在下面附上了堆栈跟踪. 有没有一种方法可以
..
我正在尝试不同的方法来查询记录数组中的记录并显示完整的行作为输出. 我不知道哪个嵌套对象有字符串“pg".但我想查询特定对象.对象是否有“pg".如果“pg"存在,那么我想显示该完整行.如何在不指定对象索引的情况下在嵌套对象上编写“spark sql 查询".所以我不想使用 children.name 的索引 我的 Avro 记录: {"name": "父母","类型":"记录",“
..
我有几个 Spark 作业,每天处理数千个文件.文件大小可能从 MB 到 GB.完成工作后,我通常使用以下代码保存 finalJavaRDD.saveAsParquetFile("/path/in/hdfs");或者dataFrame.write.format("orc").save("/path/in/hdfs")//从 Spark 1.4 开始存储为 ORC 文件 Spark 作业在最终输
..
我无法找到有关此主题的太多信息,但假设我们使用数据帧读取 10 块的镶木地板文件,spark 自然会创建 10 个分区.但是,当数据帧读入文件进行处理时,它不会处理大数据与分区的比率,因为如果它正在处理未压缩的文件,则块大小会更大,这意味着分区也会更大. 所以让我澄清一下,实木复合地板压缩(这些数字并不完全准确).1GB Par = 5 Blocks = 5 Partitions 可以解
..
Parquet 文档描述了几种不同的编码此处 它在读/写期间是否以某种方式在文件内部发生了变化,或者我可以设置它?Spark 文档中没有任何关于它的内容.仅从 Netflix 团队的 Ryan Blue 的演讲中找到 幻灯片.他将 parquet 配置设置为 sqlContext sqlContext.setConf("parquet.filter.dictionary.enabled",
..