gpt4 book ai didi

sql-server - 如何将特定模式的数据从 SQL Server 2014 (Unicode) 导入 Hive 仓库

转载 作者:可可西里 更新时间:2023-11-01 16:52:54 25 4
gpt4 key购买 nike

我想从 SQL Server 导入数据并从 hive 查询它。

我使用 cloudera 模板创建了一个 VirtualBox,并开始阅读它的教程。

我成功地能够使用 sqoop 作为 avro 文件从 SQL Server 导入数据,然后在配置单元中创建表并从 avro 文件导入数据。然后从 hive 查询。

但是 sqoop 的 import-all-tables 命令只导入模式“dbo”的表。如果我还想导入具有架构 dw 的表怎么办?我尝试使用 import 命令导入 dw 模式中存在的特定表。但这也行不通。

知道如何使用 sqoop 从 SQL Server 为非 dbo. 架构相关表导入数据作为 avro 吗?或者从 SQL Server 导入数据而不是 dbo. 模式并将其直接加载到配置单元中?

最佳答案

下载JDBC驱动,复制到sqoop目录

$ curl -L 'http://download.microsoft.com/download/0/2/A/02AAE597-3865-456C-AE7F-613F99F850A8/sqljdbc_4.0.2206.100_enu.tar.gz' | tar xz
$ sudo cp sqljdbc_4.0/enu/sqljdbc4.jar /var/lib/sqoop/

使用sqoop从Sql Server导入表

sqoop import --driver="com.microsoft.sqlserver.jdbc.SQLServerDriver" --connect="jdbc:sqlserver://sqlserver;database=databasename;username=username;password=passwordofuserprovidedinusername" --username=username --password= passwordofuserprovidedinusername --table="schemaname.tablename" --split-by=primarykeyoftable --compression-codec=snappy --as-avrodatafile --warehouse-dir=/user/hive/warehouse/tablename

验证表是否正确导入

hadoop fs -ls /user/hive/warehouse
ls -l *.avsc

创建新目录并提供适当的权限

sudo -u hdfs hadoop fs -mkdir /user/examples
sudo -u hdfs hadoop fs -chmod +rw /user/examples
hadoop fs -copyFromLocal ~/*.avsc /user/examples

启动 hive

hive

从sqoop导入表schema和数据到hive仓库

CREATE EXTERNAL TABLE tablename
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe'
STORED AS INPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat'
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerOutputFormat'
LOCATION 'hdfs:///user/hive/warehouse/tablename’
TBLPROPERTIES ('avro.schema.url'='hdfs://quickstart.cloudera/user/examples/sqoop_import_schemaname_tablename.avsc');

注意: 确保在键入命令时单引号可能会更改,如果您正在处理命令。路径或文件名中不应有任何空格。

关于sql-server - 如何将特定模式的数据从 SQL Server 2014 (Unicode) 导入 Hive 仓库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31290964/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com