我已经使用sqoop在hdfs和oracle之间传输数据,如下所示:hadoop@jiogis-cluster-jiogis-master-001:~$sqoopimport--connectjdbc:oracle:gis-scan.ril.com/SAT--username=r4g_viewer--password=viewer_123--table=R4G_OSP.ENODEB--hive-import--hive-table=ENODEB--target-dir=user/hive/warehouse/proddb/JioCenterBoundary--direct当我使用sqo
如果在使用--query参数给出的选择查询中执行连接/聚合,Sqoop是否运行reducer?或者在Sqoop中是否存在同时运行映射器和缩减器的情况?Documentation指定每个映射任务都需要执行查询的副本,结果按Sqoop推断的边界条件进行分区。$sqoopimport\--query'SELECTa.*,b.*FROMaJOINbon(a.id==b.id)WHERE$CONDITIONS'\--split-bya.id--target-dir/user/foo/joinresults在上面的示例中,JOIN如何在首先使用$CONDITIONS对表进行分区的地方发生?
我有一个sqoop作业,我只想将HIVE表中的3列导出到只有这3个字段的mysql表中。export--connect--username--password--tabletarget--columns"col1,col2,col3"--export-dir/path/to/source/table请注意,在hive表中,col1、col2、col3之间有一些字段。抛出的错误是IllegalArgumentException,因为Sqoop正在解析hive表中col1和col2之间的字符串字段,我明确试图忽略它,并试图将其存储为时间戳.如有任何建议,我们将不胜感激!
是否有任何选项可以从文件运行SQL评估参数,而不是在sqoop评估期间使用--query参数硬编码sql语句?例如:sqoopeval-Dmapreduce.job.queuename=NONP.XXXX--connect"jdbc:oracle:thin:ABC/PSCODE@XXX.XX.XX.com:61901/XXX_ANY"--usernameXXXX--passwordDXX--query"TRUNCATETABLESAMPLE_STG_TABLEDROPSTORAGE";我想在文件statement.sql中存储语句"TRUNCATETABLESAMPLE_STG_TAB
我正在尝试将数据从hdfs位置导出到Greenplum用户定义的模式(不是默认模式)。尝试使用SqoopEval来检查连接。sqoopeval--connect"jdbc:postgresql://sample.com:5432/sampledb"--usernamesample_user--passwordxxxx--query"SELECT*FROMsample_db.sample_tableLIMIT3"结果:工作正常尝试使用--schema选项/usr/bin/sqoopexport--connect"jdbc:postgresql://sample.com:5432/samp
已执行类似的sqoop命令,如下所示。下面提到的自由形式查询,我想将它保存在一个文件中并运行sqoop命令,因为我的实时查询非常复杂且更大。想知道,有没有办法将查询保存在文件中并执行sqoop命令,该命令将引用文件内的自由格式查询并执行?就像我们为--password-file案例所做的那样。提前致谢。sqoopimport--connect"jdbc:mysql://:port"--username"admin"--password-file""--query"select*fromemployee"--split-byemployee_id--target-dir""--incre
所以我正在尝试运行一个sqoop导入作业,在其中我根据我的partition_key保存parquet文件。最终,我希望我的文件夹/TABLE_DIR/有5个Parquet文件,每个唯一分区键1个。目前我只有4。我无法设置num-mappers5。Table2partition_key可能会上升到8,为此我想获得8个Parquet文件等。Table1:primary_key:[1,2,3,4,5,6,7,8,9,10]partition_key:[1,1,1,2,2,2,3,3,4,5]value:[15,12,18,18,21,23,25,26,24,10]Code:sqoopimp
我正在尝试连接到oracle数据库并使用sqoop列出表的名称,如下所示:sqooplist-tables--connectjdbc:oracle:thin:@:1521:DB_Name--用户名hdp--密码hadoop我没有收到任何错误。数据库服务器上有一堆表,但无法用sqoop列出。有什么想法我想念的吗?我暂时把dba权限给了hdp用户,还是获取不到表列表。有什么想法吗? 最佳答案 你应该在双破折号之前添加空格sqooplist-tables--connectjdbc:oracle:thin:@:1521:DB_Name--u
我有一个使用Hive生成的表(在AmazonElasticMapReduceJobFlow上)。我可以看到数据位于hdfs:///mnt/hive_081/warehouse/[tablename]。我把Sqoop打包成一个jar(没有做任何改动),上传到master节点进行测试。我这样运行我的sqoopjar:/usr/lib/jvm/java-6-sun/bin/java-cp/home/hadoop/conf:/usr/lib/jvm/java-6-sun/lib/tools.jar:/home/hadoop:/home/hadoop/hadoop-tools-1.0.3.j
我在尝试导出分区的Hive表时遇到了一些问题。这是否得到完全支持(我尝试用谷歌搜索并找到了一张JIRA票)?sqoopexport--connectjdbc:mysql://localhost/testdb--tablesales--export-dir/user/hive/warehouse/sales--direct这是我得到的:00000_2,Status:FAILEDjava.io.FileNotFoundException:Filedoesnotexist:/user/hive/warehouse/sales/day=2013-04-01运行hadoopfs-ls/user/