apache-spark - 如何使用 spark 使 Impala 的元数据无效?
问题描述
我首先使用 PySpark 将数据插入到一个空表中,但随后我将不得不自动化该过程。使用 PySpark,我如何使元数据无效或刷新数据以便在 Impala 中正确读取?
这是我的代码示例:
spark.sql("""
select
gps_data_adj.trip_duration
, gps_data_adj.geometry
, trip_summary.TRIP_HAVERSINE_DISTANCE
, trip_summary.TRIP_GPS_DURATION
, gps_data_adj.HAVERSINE_DISTANCE
, gps_data_adj.GPS_INTERVAL
, gps_data_adj.HAVERSINE_DISTANCE/trip_summary.TRIP_HAVERSINE_DISTANCE AS HAVERSINE_DISTANCE_FRACTION
, gps_data_adj.GPS_INTERVAL/trip_summary.TRIP_GPS_DURATION AS GPS_INTERVAL_FRACTION
, (gps_data_adj.HAVERSINE_DISTANCE/trip_summary.TRIP_HAVERSINE_DISTANCE)*gps_data_adj.trip_distance_travelled AS HAVERSINE_DISTANCE_ADJ
, (gps_data_adj.GPS_INTERVAL/trip_summary.TRIP_GPS_DURATION)*gps_data_adj.trip_duration AS GPS_INTERVAL_ADJ
FROM
gps_data_adj
INNER JOIN
(
SELECT
trip_id
, sum(COSINES_DISTANCE) as TRIP_COSINES_DISTANCE
, sum(HAVERSINE_DISTANCE) as TRIP_HAVERSINE_DISTANCE
, sum(GPS_INTERVAL) AS TRIP_GPS_DURATION
FROM
gps_data_adj
GROUP BY
trip_id
) trip_summary
on gps_data_adj.trip_id = trip_summary.trip_id
""").write.format('parquet').mode('append').insertInto('driving_data_TEST')
解决方案
推荐阅读
- python - 多线程使我收到“ValueError:对已关闭文件的 I/O 操作”错误。为什么?
- python - 确定熊猫列中值在其他列中随时间变化的次数
- python - 将两个 pandas 数据框与两个条件结合起来
- android-studio - 如何在android studio中添加文件夹
- java - 如何使用 Java 将 Button 布局更改为 Android 上的默认布局
- html - 如果 html 标签来自 React Component 中的数组,如何将它们呈现为 html 标签而不是字符串?
- python - 在基于条件的嵌套列表中查找连续的 True 和 False
- xml - 如何按条件隐藏rtf模板中的行以进行oracle融合?这种标记语言叫什么名字?
- c# - 有没有办法在 Unity 多人游戏中找到哪个玩家是主机?
- excel - 当使用“.paste”方法将数据从 MS Excel 中的单元格粘贴到 MS Word 表中的单元格时,为什么 VBA 会退出调试模式?