Scala 如何使用配置单元表数据验证文件数据?

Scala 如何使用配置单元表数据验证文件数据?,scala,csv,hadoop,apache-spark,apache-spark-sql,Scala,Csv,Hadoop,Apache Spark,Apache Spark Sql,我试图获取一个csv文件,其中包含数据库中的表列表以及每个表中的行和列,并与配置单元表进行比较。目的是匹配配置单元中的每个表行和列 您的日志文件如下所示。像下面很多行 现在,编写一个程序/脚本,检查这些日志文件表行是否等于配置单元表。如果表行相等,则打印“表行相等”或“表行不相等”假设您的配置单元和表名称相同 我尝试了多种方法来遍历dataframe,也尝试了使用RDD,但我无法选择文件的每个记录,并使用SCALA与配置单元中的每个表进行比较 我所尝试的: val sc = new Spar

我试图获取一个csv文件,其中包含数据库中的表列表以及每个表中的行和列,并与配置单元表进行比较。目的是匹配配置单元中的每个表行和列

您的日志文件如下所示。像下面很多行


现在,编写一个程序/脚本,检查这些日志文件表行是否等于配置单元表。如果表行相等,则打印“表行相等”或“表行不相等”假设您的配置单元和表名称相同

我尝试了多种方法来遍历dataframe,也尝试了使用RDD,但我无法选择文件的每个记录,并使用SCALA与配置单元中的每个表进行比较

我所尝试的:

 val sc = new SparkContext()
    val readFileDB= sc.textFile("/databases.csv")
    val mapData= readFileDB.map(l=>l.split(",")).map(c=>(c(0),c(1),c(2)))
    val filterData = mapData.foreach{
      case (dbname,table,rows)=> spark.catalog.setCurrentDatabase(dbname)
     } 

从您的CSV中创建一个数据帧
df1
,从您的配置单元表中创建一个数据帧
df2
<代码>df1。除了(df2)之外,应该提供df1中存在而不是df2中存在的行。我们还有
subtract
intersect
。您可以根据您的要求选择。嘿,谢谢您的快速回复。我会试试这个。。但我希望你没弄错。。我已经编辑了我的问题,请检查一次。是否要对每一行单独检查并打印每一行是否匹配?是的,我要将CSV数据的每一行(表)与配置单元中的每一个表进行比较,以比较其行和列。非常感谢这里的专家提供的帮助!!请告诉我如何从CSV和蜂巢表中创建数据帧
df1
<代码>df1。除了(df2)之外,应该提供df1中存在而不是df2中存在的行。我们还有
subtract
intersect
。您可以根据您的要求选择。嘿,谢谢您的快速回复。我会试试这个。。但我希望你没弄错。。我已经编辑了我的问题,请检查一次。是否要对每一行单独检查并打印每一行是否匹配?是的,我要将CSV数据的每一行(表)与配置单元中的每一个表进行比较,以比较其行和列。非常感谢这里的专家提供的帮助!!请告诉我怎么做
 val sc = new SparkContext()
    val readFileDB= sc.textFile("/databases.csv")
    val mapData= readFileDB.map(l=>l.split(",")).map(c=>(c(0),c(1),c(2)))
    val filterData = mapData.foreach{
      case (dbname,table,rows)=> spark.catalog.setCurrentDatabase(dbname)
     }