pyspark - 将一个数据帧的 avro 模式复制到另一个 pyspark
问题描述
我有一个带有模式 A 的数据集 A,还有带有模式 B 的数据集 B。数据集 A 和 B 大多相似(具有相同的列,但只有少数数据类型不同),但差异很小。一个示例是数据集 A 具有日期值('2020-08-03' 表示为字符串数据类型),数据集 B 中的同一列表示为纪元数(长)。现在我必须合并这两个数据集。如果我必须合并,我必须在两个数据集中使用相同的数据类型。
你能建议我怎么做吗?这可能吗 ?
解决方案
您必须使用 sql 函数来更改列类型。例如,您可以将字符串日期转换为 unix 时间戳:
df.withColumn("date", unix_timestamp("date", "yyyy-MM-dd"))
然后你可以使用union
这两个数据框。
推荐阅读
- android-tv - 知道焦点在 Android TV 的最左侧视图
- python - super(subclass, class).__new__(class) 做什么?
- wordpress - How to make an input allows html tags in wordpress website
- javascript - 如何将数据库列标题名称与下拉菜单中的值匹配
- javascript - 在jquery中隐藏带有复选框的行
- git - 使用拉取请求从主服务器恢复合并提交(受保护的主服务器)
- react-native - 视图的 ReactNative 动画宽度不起作用
- java - KeyStore 和 TrustStore 加载失败 - 私钥必须附有证书链
- tfs - NuGet 包仅在 TFS 管理的源中显示为预发布
- c# - 如何将字典中的数据绑定到 xaml 并使用选定的对象