Spark
文章平均质量分 78
长行
这个作者很懒,什么都没留下…
展开
-
Spark|Spark 写出的 Hive 表与其他表关联时需额外格式转换问题
在 Hive 建一个与 Spark 写出的表完全一致的表,然后将 Spark 写出表的数据原封不动地写入,再使用这个新表与其他 Hive 表关联时,就不会出现这个问题。但是,当我们用 Spark 写出的表与其他 Hive 表关联时,会额外增加两个表的疑似类型转换的 Job,如果表很大的话,这两个任务可能会 OOM。然而,对于 Hive SQL 而言,如果两个表的 ORC文件格式不一致,则会导致它们无法被直接关联(包括。等),在计算前需要先统一格式,也就增加了两个表分别转换类型的两个 Job。原创 2024-07-25 18:42:19 · 820 阅读 · 0 评论 -
PySpark|使用 CREATE TABLE AS 向 Hive 写入数据导致换行异常问题的处理方法
发现下游表的记录数比预期要多,进一步排查发现其中存在部分唯一键为空的记录,疑似是部分字符串字段中包含特殊字符导致这些记录被拆分为多条记录,而被拆分出的记录没有唯一键。进一步定位找到这些记录,发现导致被拆分的特殊字符应该是换行符(通过增加日志,发现 UDF 前后 DataFrame 都是一行,推测是在写出时变成多行。是 Hive 中用于处理简单分隔格式数据的结构,其默认的行分隔符是。出现类似问题,极有可能是因为写入 Hive 时使用了。,而是先在 Hive 建表,然后使用。综上,问题原因已经明确。原创 2024-07-25 15:53:08 · 338 阅读 · 0 评论 -
PySpark|在 yarn 集群运行 pyspark 任务的方法
Spark 3.5.1 中Spark 2.3.0 中。原创 2024-07-22 20:11:03 · 246 阅读 · 0 评论 -
Spark|Spark 的 tranformer 算子和 action 算子整理
将数据集的元素以 Hadoop SequenceFile 的形式写入到指定路径中,可以是本地文件系统、HDFS 或任何其他受 Hadoop 支持的文件系统。将数据集的元素以文本文件(或一组文本文件)的形式写入到指定目录中,可以是本地文件系统、HDFS 或任何其他受 Hadoop 支持的文件系统。函数可以对 RDD 中的数据进行随机重分区,创建更多或更少的分区,并在它们之间实现负载均衡。的元素会被写入到进程的标准输入(stdin),而进程的标准输出(stdout)中的每一行会作为字符串的 RDD 返回。原创 2023-09-07 18:12:54 · 136 阅读 · 0 评论