Sql server 使用平面文件从SQL Server迁移到配置单元表

Sql server 使用平面文件从SQL Server迁移到配置单元表,sql-server,hadoop,hive,Sql Server,Hadoop,Hive,我正在使用以下步骤将数据从SQL Server迁移到配置单元,但结果表存在数据问题。我尝试了各种选项,包括检查数据类型,使用csvSerde,但无法在各个列中正确对齐数据。我采取了以下步骤: 将SQL Server数据导出到带有逗号分隔字段的平面文件 在配置单元中创建外部表,如下所示并加载数据 我可以尝试的所有组合都存在数据问题。 我还尝试了OpenCSVSerde,但结果比简单的文本文件更糟。我还尝试将分隔符改为分号,但没有成功 row format serde 'org.apache.had

我正在使用以下步骤将数据从SQL Server迁移到配置单元,但结果表存在数据问题。我尝试了各种选项,包括检查数据类型,使用
csvSerde
,但无法在各个列中正确对齐数据。我采取了以下步骤:

  • 将SQL Server数据导出到带有逗号分隔字段的平面文件
  • 在配置单元中创建外部表,如下所示并加载数据
  • 我可以尝试的所有组合都存在数据问题。 我还尝试了OpenCSVSerde,但结果比简单的文本文件更糟。我还尝试将分隔符改为分号,但没有成功

    row format serde 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
    with serdeproperties ( "separatorChar" = ",")  stored as textfile
      location 'gs://mybucket/myschema.db/mytable/';
    
    你能不能建议一些稳健的方法,这样我就不必处理数据问题了。
    注意:目前我没有将SQL Server表与Sqoop连接的选项。

    文件路径中的
    gs
    是什么?这里的实际问题是什么?列没有正确对齐?你能给我们看一个示例记录吗?看起来怎么样?它看起来怎么样?你有什么可用的工具?您有权访问基础结构中的Spark吗?此问题与查找正确的分隔符有关。作为包含以下两项的数据,以及;在数据字段中。因此,我必须使用一个预先定义的delimeter,这是一个很好的特性。
    row format serde 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
    with serdeproperties ( "separatorChar" = ",")  stored as textfile
      location 'gs://mybucket/myschema.db/mytable/';