Teradata和Spark中类似的哈希算法

时间:2019-01-16 03:07:56

标签: hash pyspark teradata

我正在对来自Teradata数据库的数据执行增量加载,并将其存储为实木复合地板文件。由于Teradata中的表包含数十亿行,因此我希望PySpark脚本比较哈希值。

Teradata表: An example table from Teradata

当前存储的实木复合地板文件: Data stored in parquet file

我的PySpark脚本使用JDBC读取连接来调用Teradata:

tdDF = return spark.read \
  .format("jdbc") \
  .option("driver", "com.teradata.jdbc.TeraDriver") \
  .option("url", "jdbc:teradata://someip/DATABASE=somedb,MAYBENULL=ON") \
  .option("dbtable", "(SELECT * FROM somedb.table)tmp")

在镶木地板中读取的火花脚本:

myDF = spark.read.parquet("myParquet")
myDF.createOrReplaceTempView("myDF")
spark.sql("select * from myDF").show()

我如何:

  • 在我对teradata的调用中包括一个哈希函数,该函数返回整个行值的哈希(此哈希应在Teradata上执行)
  • 在读取实木复合地板文件时,在我的PySpark代码中包含一个哈希函数,该函数返回整个行值的哈希(此哈希应在Spark中执行)
  • 比较这两个哈希以查看哪个是Teradata的增量需要加载

0 个答案:

没有答案