草庐IT

hadoop - sqoop 在导入时如何处理更新的行?

如果Oracle(或任何RDBMS)中有一个表包含每天刷新的数据。例子:1234,Raj,Kolkata,1000,09092015假设,我今天使用标准sqoop导入导入这一行,并以平面文件的形式存储在HDFS中。第二天,该行从源表中删除。但是如果在7天后更新了相同的记录(比如sal字段1000更新为2000)。如果我再次运行sqoop查询,它将如何处理数据以及如何存储?是否会有相同记录的两个条目或将更新较新的值?会不会记录会被这个取代吗? 最佳答案 如果您执行incrementalimports在Sqoop中,您可以通过使用参数-

performance - 处理大输入时 Spark 性能非常慢

我正在使用Spark(在Scala中)读取一个包含用户和他们共享的页面列表的文件,我想通过他们共享的页面找到与给定用户一定距离的所有用户。程序运行很差,我经常得到GCoverheadlimitexceeded错误。我在具有8GB内存的MacOSX上本地运行Spark。使用spark-submit提交程序带参数--driver-memory5g和通过设置分配的8个核心spark.cores.max.输入集是一个1.15GB的文件。有没有人指出哪个操作效率很低,是否有更好的替代操作?提前致谢。此处简要介绍了代码。每个用户条目都包含他/她在标签后共享的页面,每个条目由两个换行符分隔,如下所示

sql-server - 从 SQL Server 导入时,sqoop 是否获取任何锁?

我正在使用sqoop从SQLServer导入到HDFS。我想知道是否在我从中导入的表上获得了任何锁,如果是,是否有一种方法可以执行与WITH(NOLOCK)等效的操作? 最佳答案 是的,根据SQOOP-724。这里,还包括一个示例http://mail-archives.apache.org/mod_mbox/sqoop-user/201302.mbox/%3CCAL=o-uTG3Pwrtd+brF9q+b6zEZUSnJ9Z35BYRrsvNr1gi1pxXA@mail.gmail.com%3E

hadoop - 我如何使用 sqoop 从 HDFS 导入并在导入时合并表的两列?

我可以在导入或导出时合并两列或多列吗?假设我在DBMSID、FIRST_NAME、LAST_NAME中有3列,我想将其加载为ID、NAME只有两列。那我该怎么做呢? 最佳答案 试试下面的选项sqoopimport--connect--username--password--query"selectID,CONCAT(FIRST_NAME,LAST_NAME)fromtable"--target-dir因为你没有提到你的数据库和表名,所以我用通用形式写了。 关于hadoop-我如何使用sq

hadoop - 使用 globStatus 和 Google Cloud Storage 存储桶作为输入时无法运行 Spark 作业

我正在使用Spark1.1。我有一个Spark作业,它只在存储桶下寻找特定模式的文件夹(即以...开头的文件夹),并且应该只处理那些。我通过执行以下操作实现了这一点:FileSystemfs=FileSystem.get(newConfiguration(true));FileStatus[]statusArr=fs.globStatus(newPath(inputPath));ListstatusList=Arrays.asList(statusArr);ListpathsStr=convertFileStatusToPath(statusList);JavaRDDpaths=sc.

hadoop - Sqoop 可以在导入时执行任何 ETL 相关任务吗?

目前,据我了解,数据是从关系数据库Sqooped到HDFS中。从那里,Pig或M/R可以运行ETL相关任务,并将转换后的数据放入HDFS的另一部分。如有必要,可以删除原始数据。有没有办法避免将原始数据导入HDFS并在数据通过Sqoop传入时对数据运行PIG和M/R?这是怎么做到的? 最佳答案 Sqoop/Pig/Hive/MR本质上是面向批处理(长时间)的,无法实时处理数据。考虑使用像Flume这样的框架/Storm/Samza/S4 关于hadoop-Sqoop可以在导入时执行任何ET

hadoop - 使用 Sqoop 导入时 Parquet 文件中的脏值

我正在使用Sqoop1(版本1.4.6,CDH5.7.4)从Oracle导入。Sqoop创建一个临时的ParquetHive表,然后我使用Hive(直线)插入目标表。这种双步摄取是由于目标表具有与Sqoop的不同的列类型映射,因此使用insertinto我可以即时转换它们。我也在Snappy中即时压缩。这工作正常。目前,我没有控制Sqoop导入命令的类型映射。在我的特殊情况下它太复杂了。一开始我是在平面文件中导入的,但是我的字段包含一堆字符,这些字符会破坏我的行,例如换行符、回车符、制表符等等。出于这个和其他原因,我决定转向Parquet(不幸的是,avro不是一个选项,因为我们使用的

hadoop - Cloudera - 导入时的 Sqoop codegen 自定义 ORM 类

我是Cloudera环境的新手,我正在尝试使用Sqoop从RDBMS导入数据我需要在导入过程中对数据应用一些转换。具体来说,我需要在将某些字段存储到HadoopDFS之前对其进行加密。为此,我尝试使用codegen命令,它生成一个我可以修改的ORMJava类。假设我在MySQL数据库中有一个表“产品”,我想使用Sqoop将其导入HDFS并加密“品牌”字段。首先,我运行了这个命令:sqoopcodegen\--connectjdbc:mysql://localhost/test\--usernameusername--passwordpassword\--tableproducts这会在

hadoop - HBase 区域服务器在 tsv 导入时不断崩溃

我正在尝试使用以下命令将制表符分隔的HDFS文件(3.5G)加载到HBASE中,其中包含4500万条记录hbaseorg.apache.hadoop.hbase.mapreduce.ImportTsv-Dimporttsv.columns=HBASE_ROW_KEY,description:part_descriptionpart/user/sw/spark_search/part_description_data文件片段45-573ConnCircularAdapterF/M11POSST1PortCA3100E14S-4P-B-03ConnCircularPIN1POSCrimpS

java - 当我试图将整个文件夹作为 Mapreduce 程序的输入时,我正面临 "Java heap space error"

当我尝试通过将整个文件夹作为MR作业的输入来运行mapreduce程序时,我遇到了“Java堆空间错误”。当我将单个文件作为MR作业的输入时,我没有遇到任何错误。作业已成功运行。ChangesItriedinhadoop-env.shfile:=====================================Ihadincreasedthememorysizefrom1024to2048MBexportHADOOP_CLIENT_OPTS="-Xmx2048m$HADOOP_CLIENT_OPTS"Changesinmapred-site.xml:===============