У меня есть несколько файлов журнала 1.csv, 2.csv и 3.csv, сгенерированные журнальным отчетом. Я хочу прочитать эти файлы и проанализировать их одновременно с помощью Scriptella.Как использовать несколько файлов ETL с помощью Scriptella?
3
A
ответ
3
Scriptella не обеспечивает параллельное выполнение задания из коробки. Вместо этого вы должны использовать планировщик заданий, предоставляемый операционной системой или средой программирования (например, запустите несколько файлов ETL, отправив задания в ExecutorService).
Вот рабочий пример, чтобы импортировать один файл, указанный в качестве системного свойства:
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 a d поместите их в текущий рабочий каталог. Пример файла CSV:
Level, Message
INFO,Process 1 started
INFO,Process 1 stopped
Смежные вопросы
- 1. Преобразование части ETL с использованием Scriptella?
- 2. Scriptella: ResourceException с JayBird
- 3. Scriptella: Имитация запроса Внутренний/внешний Присоединиться к сценарию ETL
- 4. Scriptella - динамически называют csv-файл
- 5. Как использовать ETL в WSO2?
- 6. Какой инструмент ETL использовать?
- 7. Как использовать несколько файлов одновременно с помощью bash
- 8. Как использовать несколько расширений файлов с помощью DataAnnotations?
- 9. Scriptella - преобразование формата даты не работает
- 10. Использовать несколько файлов env
- 11. Как загрузить CSV с NULL-значениями в MySQL с помощью Scriptella?
- 12. Как управлять идентификаторами с помощью ETL?
- 13. Как удалить поля с помощью Activewarehouse-etl?
- 14. Как загрузить несколько файлов с помощью iPhone
- 15. Как читать несколько файлов с помощью MultiResourceItemReader?
- 16. Как обрабатывать несколько файлов с помощью PHP
- 17. MySQL to MySQL data copy в scriptella
- 18. Как шифровать несколько файлов с помощью python
- 19. Как загрузить несколько файлов с помощью NSURLSession
- 20. Как создать несколько файлов с помощью C++
- 21. Как скомпилировать несколько файлов с помощью sweet.js?
- 22. Как перемещать несколько файлов с помощью SHFILEOPSTRUCT?
- 23. Как открыть несколько файлов с помощью программы?
- 24. Как загрузить несколько файлов с помощью Mojolicious?
- 25. Как загрузить несколько файлов с помощью Protractor?
- 26. Как запустить несколько файлов с помощью python
- 27. Как загрузить несколько файлов с помощью codeigniter
- 28. Как загрузить несколько файлов с помощью OkHttp?
- 29. Как перемещать несколько файлов с помощью vb.net
- 30. Как переименовать несколько файлов с помощью python?
@ ejboy- Предположим, я хочу передать input1.csv из командной строки в окнах, то как бы я пойти на это> –
Вы можете использовать переменную «арг» в примере. Он содержит аргументы строки cmd. – ejboy
Может ли plz дать его подробно, написав код командной строки? :) –