- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有多个日志文件 1.csv、2.csv 和 3.csv 由日志报告生成。我想读取这些文件并使用 Scriptella 同时解析它们。
最佳答案
Scriptella 不提供开箱即用的并行作业执行。相反,您应该使用操作系统或编程环境提供的作业调度程序(例如,通过将作业提交给 ExecutorService 来运行多个 ETL 文件)。
这里是导入指定为系统属性的单个文件的工作示例:
ETL 文件:
<!DOCTYPE etl SYSTEM "http://scriptella.javaforge.com/dtd/etl.dtd">
<etl>
<connection id="in" driver="csv" url="$input"/>
<connection id="out" driver="text"/>
<query connection-id="in">
<script connection-id="out">
Importing: $1, $2
</script>
</query>
</etl>
并行运行文件的 Java 代码:
//Imports 3 csv files in parallel using a fixed thread pool
public class ParallelCsvTest {
public static void main(String[] args) throws EtlExecutorException, MalformedURLException, InterruptedException {
final ExecutorService service = Executors.newFixedThreadPool(3);
for (int i=1;i<=3;i++) {
//Pass a name as a parameter to ETL file, e.g. input<i>.csv
final Map<String,?> map = Collections.singletonMap("input", "input"+i+".csv");
EtlExecutor executor = EtlExecutor.newExecutor(new File("parallel.csv.etl.xml").toURI().toURL(), map);
service.submit((Callable<ExecutionStatistics>)executor);
}
service.shutdown();
service.awaitTermination(10, TimeUnit.SECONDS);
}
}
运行此示例创建 3 个 csv 文件 input1.csv、input2.csv 和 input3.csv,并将它们放在当前工作目录中。 CSV 文件示例:
Level, Message
INFO,Process 1 started
INFO,Process 1 stopped
关于etl - 如何使用 Scriptella 对多个文件进行 ETL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12383025/
我需要调用相同的 xmls某些参数略有变化。我想写etl.properties ,但后来我意识到我必须在 xml 中写入属性文件名这不是我想要的。 理想情况下,我正在寻找将参数传递给 Scriptel
我正在尝试将数据从一个表复制到另一个表,但在执行此操作之前,我需要检查所选的代码文章是否已作为另一个表中的键存在。因此,如果存在,我将复制它们,并且不会复制它们,如果不存在,那么我记录它们这里我做了任
我正在使用 Scriptella 进行 ETL 操作,处理许多用自动生成的 ID 引用的表。我想在不使用子查询的情况下重新使用这些 ID,这是我的 etl 文件的脚本片段: 1"> SELECT ne
我想从数据库中提取一个文本字段并将其插入到其他数据库中。因此,在提取时,我在选择测试时使用了 REPLACE(message_text,'\'', '"')。我给了我一个错误。我从我的 select
我有多个日志文件 1.csv、2.csv 和 3.csv 由日志报告生成。我想读取这些文件并使用 Scriptella 同时解析它们。 最佳答案 Scriptella 不提供开箱即用的并行作业执行。相
使用 Scriptella ETL,我最近开始了解 onerror 标签。它工作正常,但我想制作一个通用代码,在发生任何错误时将代码和消息插入数据库。 我是这样使用它的: INSE
我是 Linux/Java/Scriptella 的新手,我正在尝试在 Firebird 本地数据库上使用 scriptella 进行 jdbc 连接,但我收到以下错误: 2-dic-2013 1.0
我需要开发一个 ETL 脚本(在另一个脚本之后运行)从一个数据库 (DB1) 读取行并将它们复制到另一个数据库 (DB2)。 问题是从 DB1 中选择行的查询与 DB2 中的行连接,像这样: SELE
我正在尝试将数据从 CSV 文件移动到数据库表中,并且我想在脚本中使用列标题名称。例如: INSERT INTO mytable VALUES (?column one,?colu
我正在尝试使用 scriptella 复制 oracle 的列,我想将它们插入到结合 scriptella 和 janino 的 ArrayList 中,以便稍后使用它们并进行比较, 这是我所做的
我面临以下问题。 使用 etl 配置文件,我从 Oracle DB 表加载一些数据,然后将这些数据导出到 CSV 文件。但是,当字段包含双引号 (") 时,该字符会重复。 我将用一个简单的例子来解释:
我正在尝试使用 scriptella 脚本将一台服务器中的一些数据传输到另一台服务器。脚本看起来像这样 test script
我是使用 Scriptella 的新手。 我的要求是这样的: 1) 首先,我有一些非常大的 xml 文件,我必须将其中的数据插入数据库。因此,我决定将 xml 文件作为 clob 对象插入。这是我使用
我找到了一个XML转CSV的例子,在用到的例子中,就是这个结构 Empire Burlesque Bob Dylan USA
我有一个 CSV 文件,正在尝试加载到 MySQL 表中: bkpgln,date,aircraft,tailnum,poe,time_out,pod,time_in,stops,inst_app,l
我是一名优秀的程序员,十分优秀!