Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Искра под Виндой  [new]
mayton
Member

Откуда: loopback
Сообщений: 42343
Прошу прощения что пишу в форум Java.
Но в big-data - сверчки сверчат и вообще нет людей.

Учебный туториал по Spark.
import org.apache.spark.{SparkConf, SparkContext}

object Main {

    def main(arg : Array[String]): Unit = {

        val conf = new SparkConf().setMaster("local").setAppName("My App")

        val sc = new SparkContext(conf)

        val input = sc.textFile("c:/db/maven/mvnidx.csv")

        val words = input.flatMap(line => line.split(" "))

        val counts = words.map(words => (words, 1)).reduceByKey( {case (x,y) => x + y} )

        counts.saveAsTextFile("c:/db/maven/mvnidx_report.txt")

        printf("OK")

    }

}


Падает в фазе сохранения отчота. Есть ощущение что толи аргуменов не хватило. Толи chmod не отработал.

+
19/05/22 18:00:32 INFO MemoryStore: Block broadcast_2 stored as values in memory (estimated size 66.8 KB, free 93.1 MB)
19/05/22 18:00:32 INFO MemoryStore: Block broadcast_2_piece0 stored as bytes in memory (estimated size 24.5 KB, free 93.1 MB)
19/05/22 18:00:32 INFO BlockManagerInfo: Added broadcast_2_piece0 in memory on EPUAKHAW0852.kyiv.epam.com:59775 (size: 24.5 KB, free: 93.3 MB)
19/05/22 18:00:32 INFO SparkContext: Created broadcast 2 from broadcast at DAGScheduler.scala:1161
19/05/22 18:00:32 INFO DAGScheduler: Submitting 153 missing tasks from ResultStage 1 (MapPartitionsRDD[5] at saveAsTextFile at Main.scala:23) (first 15 tasks are for partitions Vector(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14))
19/05/22 18:00:32 INFO TaskSchedulerImpl: Adding task set 1.0 with 153 tasks
19/05/22 18:00:32 INFO TaskSetManager: Starting task 0.0 in stage 1.0 (TID 153, localhost, executor driver, partition 0, ANY, 7141 bytes)
19/05/22 18:00:32 INFO Executor: Running task 0.0 in stage 1.0 (TID 153)
19/05/22 18:00:32 INFO ShuffleBlockFetcherIterator: Getting 153 non-empty blocks including 153 local blocks and 0 remote blocks
19/05/22 18:00:33 INFO ShuffleBlockFetcherIterator: Started 0 remote fetches in 9 ms
19/05/22 18:00:33 INFO BlockManagerInfo: Removed broadcast_1_piece0 on EPUAKHAW0852.kyiv.epam.com:59775 in memory (size: 3.3 KB, free: 93.3 MB)
19/05/22 18:00:33 INFO HadoopMapRedCommitProtocol: Using output committer class org.apache.hadoop.mapred.FileOutputCommitter
19/05/22 18:00:33 ERROR Executor: Exception in task 0.0 in stage 1.0 (TID 153)
java.io.IOException: (null) entry in command string: null chmod 0644 C:\db\maven\mvnidx_report.txt\_temporary\0\_temporary\attempt_20190522175850_0005_m_000000_0\part-00000
        at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:762)
        at org.apache.hadoop.util.Shell.execCommand(Shell.java:859)
        at org.apache.hadoop.util.Shell.execCommand(Shell.java:842)
        at org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java:661)
        at org.apache.hadoop.fs.ChecksumFileSystem$1.apply(ChecksumFileSystem.java:501)
        at org.apache.hadoop.fs.ChecksumFileSystem$FsOperation.run(ChecksumFileSystem.java:482)
        at org.apache.hadoop.fs.ChecksumFileSystem.setPermission(ChecksumFileSystem.java:498)
        at org.apache.hadoop.fs.ChecksumFileSystem.create(ChecksumFileSystem.java:467)
        at org.apache.hadoop.fs.ChecksumFileSystem.create(ChecksumFileSystem.java:433)
        at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:908)
        at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:801)
        at org.apache.hadoop.mapred.TextOutputFormat.getRecordWriter(TextOutputFormat.java:123)
        at org.apache.spark.internal.io.HadoopMapRedWriteConfigUtil.initWriter(SparkHadoopWriter.scala:228)
        at org.apache.spark.internal.io.SparkHadoopWriter$.executeTask(SparkHadoopWriter.scala:122)
        at org.apache.spark.internal.io.SparkHadoopWriter$.$anonfun$write$1(SparkHadoopWriter.scala:83)
        at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:90)
        at org.apache.spark.scheduler.Task.run(Task.scala:121)
        at org.apache.spark.executor.Executor$TaskRunner.$anonfun$run$3(Executor.scala:411)
        at org.apache.spark.util.Utils$.tryWithSafeFinally(Utils.scala:1360)
        at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:414)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:834)


Искал в дефектах https://issues.apache.org/jira/browse/ но там похожие давно закрытые.
22 май 19, 18:15    [21891104]     Ответить | Цитировать Сообщить модератору
 Re: Искра под Виндой  [new]
забыл ник
Member

Откуда:
Сообщений: 3024
mayton,

https://github.com/steveloughran/winutils

WinUtils установлен?
22 май 19, 18:22    [21891110]     Ответить | Цитировать Сообщить модератору
 Re: Искра под Виндой  [new]
mayton
Member

Откуда: loopback
Сообщений: 42343
Минуту.
22 май 19, 18:25    [21891114]     Ответить | Цитировать Сообщить модератору
 Re: Искра под Виндой  [new]
mayton
Member

Откуда: loopback
Сообщений: 42343
Да. На рабочей машине под десяткой этого нет.

Вот есть какая-то инструкция https://simonsuthers.wordpress.com/2017/02/13/how-to-install-spark-on-a-windows-10-machine/
Но я winutils на эту машину ее не поставлю. Есть действующие полиси. Возможно чуть позже.

Попробую через пару часиков под Ubuntu. Думаю взлетит все в шоколаде.
22 май 19, 18:36    [21891117]     Ответить | Цитировать Сообщить модератору
 Re: Искра под Виндой  [new]
lleming
Member

Откуда:
Сообщений: 1638
а если запустить в git-bash? там есть окружение почти.
22 май 19, 18:45    [21891123]     Ответить | Цитировать Сообщить модератору
 Re: Искра под Виндой  [new]
забыл ник
Member

Откуда:
Сообщений: 3024
mayton

Попробую через пару часиков под Ubuntu. Думаю взлетит все в шоколаде.


Это лучший фикс
22 май 19, 18:53    [21891134]     Ответить | Цитировать Сообщить модератору
 Re: Искра под Виндой  [new]
mayton
Member

Откуда: loopback
Сообщений: 42343
lleming
а если запустить в git-bash? там есть окружение почти.

Пробовал. Таже ошибка.
22 май 19, 18:53    [21891135]     Ответить | Цитировать Сообщить модератору
 Re: Искра под Виндой  [new]
andreykaT
Member

Откуда:
Сообщений: 2420
норм у меня под виндой всё работало.

а ты пробовал вот это?
22 май 19, 18:58    [21891137]     Ответить | Цитировать Сообщить модератору
 Re: Искра под Виндой  [new]
andreykaT
Member

Откуда:
Сообщений: 2420
2)Set the HADOOP_HOME environment variable to the above downloaded winutils directory.(ex:C:\winutils\hadoop-2.7.1)
22 май 19, 18:59    [21891138]     Ответить | Цитировать Сообщить модератору
 Re: Искра под Виндой  [new]
mayton
Member

Откуда: loopback
Сообщений: 42343
Хм. Под линуксом результат немного другой. (Файловые пути и сплиттер я поменял.)

      val conf = new SparkConf().setMaster("local").setAppName("My App")

    val sc = new SparkContext(conf)

    printf("[::1]")

    val input = sc.textFile("/db/GEO/maxmind/2010-10.MaxMind GeoIP City CSV Format/GeoIP-139_20101001/GeoIPCity.csv")

    printf("[::2]")

    val words = input.flatMap(line => line.split(","))

    printf("[::3]")

    val counts = words.map(words => (words, 1)).reduceByKey( { case (x,y) => x + y } )

    printf("[::4]")

    counts.saveAsTextFile("/db/GEO/maxmind/2010-10.MaxMind GeoIP City CSV Format/GeoIP-139_20101001/GeoIPCity-report")

    printf("OK")


name := "probeSpark"

version := "0.1"

scalaVersion := "2.12.8"

libraryDependencies += "org.apache.spark" %% "spark-core" % "2.4.3"

Сформировался не 1 отчот а пачка. ХМ... корректно ли это? Не знаю.
Складывается ощущение что последний шаг слияния отчота не добежал до конца.
В логах ошибки были но они не прерывали процесс расчета.

+

[info] Loading project definition from /home/mayton/git/probeSpark/project
[info] Loading settings for project probespark from build.sbt ...
[info] Set current project to probeSpark (in build file:/home/mayton/git/probeSpark/)
[info] Running Main 
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
19/05/23 09:56:54 WARN Utils: Your hostname, mayton-ryzen resolves to a loopback address: 127.0.1.1; using 192.168.0.110 instead (on interface enp7s0)
19/05/23 09:56:54 WARN Utils: Set SPARK_LOCAL_IP if you need to bind to another address
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.apache.spark.unsafe.Platform (file:/tmp/sbt_e76d0bca/target/f8e12f96/spark-unsafe_2.12-2.4.3.jar) to method java.nio.Bits.unaligned()
WARNING: Please consider reporting this to the maintainers of org.apache.spark.unsafe.Platform
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
19/05/23 09:56:54 INFO SparkContext: Running Spark version 2.4.3
19/05/23 09:56:54 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
19/05/23 09:56:54 INFO SparkContext: Submitted application: My App
19/05/23 09:56:54 INFO SecurityManager: Changing view acls to: mayton
19/05/23 09:56:54 INFO SecurityManager: Changing modify acls to: mayton
19/05/23 09:56:54 INFO SecurityManager: Changing view acls groups to: 
19/05/23 09:56:54 INFO SecurityManager: Changing modify acls groups to: 
19/05/23 09:56:54 INFO SecurityManager: SecurityManager: authentication disabled; ui acls disabled; users  with view permissions: Set(mayton); groups with view permissions: Set(); users  with modify permissions: Set(mayton); groups with modify permissions: Set()
19/05/23 09:56:55 INFO Utils: Successfully started service 'sparkDriver' on port 46127.
19/05/23 09:56:55 INFO SparkEnv: Registering MapOutputTracker
19/05/23 09:56:55 INFO SparkEnv: Registering BlockManagerMaster
19/05/23 09:56:55 INFO BlockManagerMasterEndpoint: Using org.apache.spark.storage.DefaultTopologyMapper for getting topology information
19/05/23 09:56:55 INFO BlockManagerMasterEndpoint: BlockManagerMasterEndpoint up
19/05/23 09:56:55 INFO DiskBlockManager: Created local directory at /tmp/blockmgr-1779fe36-c630-405d-ae8e-52ce5a31db79
19/05/23 09:56:55 INFO MemoryStore: MemoryStore started with capacity 408.9 MB
19/05/23 09:56:55 INFO SparkEnv: Registering OutputCommitCoordinator
19/05/23 09:56:55 WARN Utils: Service 'SparkUI' could not bind on port 4040. Attempting port 4041.
19/05/23 09:56:55 INFO Utils: Successfully started service 'SparkUI' on port 4041.
19/05/23 09:56:55 INFO SparkUI: Bound SparkUI to 0.0.0.0, and started at http://192.168.0.110:4041
19/05/23 09:56:55 INFO Executor: Starting executor ID driver on host localhost
19/05/23 09:56:55 INFO Utils: Successfully started service 'org.apache.spark.network.netty.NettyBlockTransferService' on port 41997.
19/05/23 09:56:55 INFO NettyBlockTransferService: Server created on 192.168.0.110:41997
19/05/23 09:56:55 INFO BlockManager: Using org.apache.spark.storage.RandomBlockReplicationPolicy for block replication policy
19/05/23 09:56:55 INFO BlockManagerMaster: Registering BlockManager BlockManagerId(driver, 192.168.0.110, 41997, None)
19/05/23 09:56:55 INFO BlockManagerMasterEndpoint: Registering block manager 192.168.0.110:41997 with 408.9 MB RAM, BlockManagerId(driver, 192.168.0.110, 41997, None)
19/05/23 09:56:55 INFO BlockManagerMaster: Registered BlockManager BlockManagerId(driver, 192.168.0.110, 41997, None)
19/05/23 09:56:55 INFO BlockManager: Initialized BlockManager: BlockManagerId(driver, 192.168.0.110, 41997, None)
19/05/23 09:56:56 INFO MemoryStore: Block broadcast_0 stored as values in memory (estimated size 107.2 KB, free 408.8 MB)
19/05/23 09:56:56 INFO MemoryStore: Block broadcast_0_piece0 stored as bytes in memory (estimated size 20.4 KB, free 408.8 MB)
19/05/23 09:56:56 INFO BlockManagerInfo: Added broadcast_0_piece0 in memory on 192.168.0.110:41997 (size: 20.4 KB, free: 408.9 MB)
19/05/23 09:56:56 INFO SparkContext: Created broadcast 0 from textFile at Main.scala:11
19/05/23 09:56:56 INFO FileInputFormat: Total input paths to process : 1
19/05/23 09:56:56 INFO deprecation: mapred.output.dir is deprecated. Instead, use mapreduce.output.fileoutputformat.outputdir
19/05/23 09:56:56 INFO HadoopMapRedCommitProtocol: Using output committer class org.apache.hadoop.mapred.FileOutputCommitter
19/05/23 09:56:56 INFO SparkContext: Starting job: runJob at SparkHadoopWriter.scala:78
19/05/23 09:56:56 INFO DAGScheduler: Registering RDD 3 (map at Main.scala:15)
19/05/23 09:56:56 INFO DAGScheduler: Got job 0 (runJob at SparkHadoopWriter.scala:78) with 13 output partitions
19/05/23 09:56:56 INFO DAGScheduler: Final stage: ResultStage 1 (runJob at SparkHadoopWriter.scala:78)
19/05/23 09:56:56 INFO DAGScheduler: Parents of final stage: List(ShuffleMapStage 0)
19/05/23 09:56:56 INFO DAGScheduler: Missing parents: List(ShuffleMapStage 0)
19/05/23 09:56:56 INFO DAGScheduler: Submitting ShuffleMapStage 0 (MapPartitionsRDD[3] at map at Main.scala:15), which has no missing parents
19/05/23 09:56:56 INFO MemoryStore: Block broadcast_1 stored as values in memory (estimated size 5.7 KB, free 408.8 MB)
19/05/23 09:56:56 INFO MemoryStore: Block broadcast_1_piece0 stored as bytes in memory (estimated size 3.3 KB, free 408.8 MB)
19/05/23 09:56:56 INFO BlockManagerInfo: Added broadcast_1_piece0 in memory on 192.168.0.110:41997 (size: 3.3 KB, free: 408.9 MB)
19/05/23 09:56:56 INFO SparkContext: Created broadcast 1 from broadcast at DAGScheduler.scala:1161
19/05/23 09:56:56 INFO DAGScheduler: Submitting 13 missing tasks from ShuffleMapStage 0 (MapPartitionsRDD[3] at map at Main.scala:15) (first 15 tasks are for partitions Vector(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12))
19/05/23 09:56:56 INFO TaskSchedulerImpl: Adding task set 0.0 with 13 tasks
19/05/23 09:56:56 INFO TaskSetManager: Starting task 0.0 in stage 0.0 (TID 0, localhost, executor driver, partition 0, PROCESS_LOCAL, 7419 bytes)
19/05/23 09:56:56 INFO Executor: Running task 0.0 in stage 0.0 (TID 0)
19/05/23 09:56:56 INFO HadoopRDD: Input split: file:/db/GEO/maxmind/2010-10.MaxMind GeoIP City CSV Format/GeoIP-139_20101001/GeoIPCity.csv:0+33554432
19/05/23 09:56:59 INFO Executor: Finished task 0.0 in stage 0.0 (TID 0). 1172 bytes result sent to driver
19/05/23 09:56:59 INFO TaskSetManager: Starting task 1.0 in stage 0.0 (TID 1, localhost, executor driver, partition 1, PROCESS_LOCAL, 7419 bytes)
19/05/23 09:56:59 INFO Executor: Running task 1.0 in stage 0.0 (TID 1)

..............
rmat/GeoIP-139_20101001/GeoIPCity-report/_temporary/0/task_20190523100430_0005_m_000010
19/05/23 10:05:13 INFO SparkHadoopMapRedUtil: attempt_20190523100430_0005_m_000010_0: Committed
19/05/23 10:05:13 INFO Executor: Finished task 10.0 in stage 1.0 (TID 23). 1465 bytes result sent to driver
19/05/23 10:05:13 INFO TaskSetManager: Starting task 11.0 in stage 1.0 (TID 24, localhost, executor driver, partition 11, ANY, 7141 bytes)
19/05/23 10:05:13 INFO TaskSetManager: Finished task 10.0 in stage 1.0 (TID 23) in 1030 ms on localhost (executor driver) (11/13)
19/05/23 10:05:13 INFO Executor: Running task 11.0 in stage 1.0 (TID 24)
19/05/23 10:05:13 INFO ShuffleBlockFetcherIterator: Getting 13 non-empty blocks including 13 local blocks and 0 remote blocks
19/05/23 10:05:13 INFO ShuffleBlockFetcherIterator: Started 0 remote fetches in 0 ms
19/05/23 10:05:14 INFO HadoopMapRedCommitProtocol: Using output committer class org.apache.hadoop.mapred.FileOutputCommitter
19/05/23 10:05:14 INFO FileOutputCommitter: Saved output of task 'attempt_20190523100430_0005_m_000011_0' to file:/db/GEO/maxmind/2010-10.MaxMind GeoIP City CSV Format/GeoIP-139_20101001/GeoIPCity-report/_temporary/0/task_20190523100430_0005_m_000011
19/05/23 10:05:14 INFO SparkHadoopMapRedUtil: attempt_20190523100430_0005_m_000011_0: Committed
19/05/23 10:05:14 INFO Executor: Finished task 11.0 in stage 1.0 (TID 24). 1465 bytes result sent to driver
19/05/23 10:05:14 INFO TaskSetManager: Starting task 12.0 in stage 1.0 (TID 25, localhost, executor driver, partition 12, ANY, 7141 bytes)
19/05/23 10:05:14 INFO Executor: Running task 12.0 in stage 1.0 (TID 25)
19/05/23 10:05:14 INFO TaskSetManager: Finished task 11.0 in stage 1.0 (TID 24) in 1171 ms on localhost (executor driver) (12/13)
19/05/23 10:05:14 INFO ShuffleBlockFetcherIterator: Getting 13 non-empty blocks including 13 local blocks and 0 remote blocks
19/05/23 10:05:14 INFO ShuffleBlockFetcherIterator: Started 0 remote fetches in 0 ms
19/05/23 10:05:15 INFO HadoopMapRedCommitProtocol: Using output committer class org.apache.hadoop.mapred.FileOutputCommitter
19/05/23 10:05:15 INFO FileOutputCommitter: Saved output of task 'attempt_20190523100430_0005_m_000012_0' to file:/db/GEO/maxmind/2010-10.MaxMind GeoIP City CSV Format/GeoIP-139_20101001/GeoIPCity-report/_temporary/0/task_20190523100430_0005_m_000012
19/05/23 10:05:15 INFO SparkHadoopMapRedUtil: attempt_20190523100430_0005_m_000012_0: Committed
19/05/23 10:05:15 INFO Executor: Finished task 12.0 in stage 1.0 (TID 25). 1465 bytes result sent to driver
19/05/23 10:05:15 INFO TaskSetManager: Finished task 12.0 in stage 1.0 (TID 25) in 1036 ms on localhost (executor driver) (13/13)
19/05/23 10:05:15 INFO TaskSchedulerImpl: Removed TaskSet 1.0, whose tasks have all completed, from pool 
19/05/23 10:05:15 INFO DAGScheduler: ResultStage 1 (runJob at SparkHadoopWriter.scala:78) finished in 14.524 s
19/05/23 10:05:15 INFO DAGScheduler: Job 0 finished: runJob at SparkHadoopWriter.scala:78, took 45.735034 s
19/05/23 10:05:15 INFO SparkHadoopWriter: Job job_20190523100430_0005 committed.
OK19/05/23 10:05:15 WARN FileSystem: exception in the cleaner thread but it will continue to run
java.lang.InterruptedException
	at java.base/java.lang.Object.wait(Native Method)
	at java.base/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:155)
	at java.base/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:176)
	at org.apache.hadoop.fs.FileSystem$Statistics$StatisticsDataReferenceCleaner.run(FileSystem.java:2989)
	at java.base/java.lang.Thread.run(Thread.java:834)
19/05/23 10:05:15 ERROR Utils: uncaught error in thread spark-listener-group-executorManagement, stopping SparkContext
java.lang.InterruptedException
	at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.reportInterruptAfterWait(AbstractQueuedSynchronizer.java:2056)
	at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2090)
	at java.base/java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:433)
	at org.apache.spark.scheduler.AsyncEventQueue.$anonfun$dispatch$1(AsyncEventQueue.scala:97)
	at scala.runtime.java8.JFunction0$mcJ$sp.apply(JFunction0$mcJ$sp.java:23)
	at scala.util.DynamicVariable.withValue(DynamicVariable.scala:62)
	at org.apache.spark.scheduler.AsyncEventQueue.org$apache$spark$scheduler$AsyncEventQueue$$dispatch(AsyncEventQueue.scala:87)
	at org.apache.spark.scheduler.AsyncEventQueue$$anon$2.$anonfun$run$1(AsyncEventQueue.scala:83)
	at org.apache.spark.util.Utils$.tryOrStopSparkContext(Utils.scala:1302)
	at org.apache.spark.scheduler.AsyncEventQueue$$anon$2.run(AsyncEventQueue.scala:83)
19/05/23 10:05:15 ERROR ContextCleaner: Error in cleaning thread
java.lang.InterruptedException
	at java.base/java.lang.Object.wait(Native Method)
	at java.base/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:155)
	at org.apache.spark.ContextCleaner.$anonfun$keepCleaning$1(ContextCleaner.scala:181)
	at org.apache.spark.util.Utils$.tryOrStopSparkContext(Utils.scala:1302)
	at org.apache.spark.ContextCleaner.org$apache$spark$ContextCleaner$$keepCleaning(ContextCleaner.scala:179)
	at org.apache.spark.ContextCleaner$$anon$1.run(ContextCleaner.scala:73)
19/05/23 10:05:15 ERROR Utils: uncaught error in thread spark-listener-group-appStatus, stopping SparkContext
java.lang.InterruptedException
	at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.reportInterruptAfterWait(AbstractQueuedSynchronizer.java:2056)
	at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2090)
	at java.base/java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:433)
	at org.apache.spark.scheduler.AsyncEventQueue.$anonfun$dispatch$1(AsyncEventQueue.scala:97)
	at scala.runtime.java8.JFunction0$mcJ$sp.apply(JFunction0$mcJ$sp.java:23)
	at scala.util.DynamicVariable.withValue(DynamicVariable.scala:62)
	at org.apache.spark.scheduler.AsyncEventQueue.org$apache$spark$scheduler$AsyncEventQueue$$dispatch(AsyncEventQueue.scala:87)
	at org.apache.spark.scheduler.AsyncEventQueue$$anon$2.$anonfun$run$1(AsyncEventQueue.scala:83)
	at org.apache.spark.util.Utils$.tryOrStopSparkContext(Utils.scala:1302)
	at org.apache.spark.scheduler.AsyncEventQueue$$anon$2.run(AsyncEventQueue.scala:83)
19/05/23 10:05:15 ERROR Utils: throw uncaught fatal error in thread spark-listener-group-executorManagement
java.lang.InterruptedException
	at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.reportInterruptAfterWait(AbstractQueuedSynchronizer.java:2056)
	at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2090)
	at java.base/java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:433)
	at org.apache.spark.scheduler.AsyncEventQueue.$anonfun$dispatch$1(AsyncEventQueue.scala:97)
	at scala.runtime.java8.JFunction0$mcJ$sp.apply(JFunction0$mcJ$sp.java:23)
	at scala.util.DynamicVariable.withValue(DynamicVariable.scala:62)
	at org.apache.spark.scheduler.AsyncEventQueue.org$apache$spark$scheduler$AsyncEventQueue$$dispatch(AsyncEventQueue.scala:87)
	at org.apache.spark.scheduler.AsyncEventQueue$$anon$2.$anonfun$run$1(AsyncEventQueue.scala:83)
	at org.apache.spark.util.Utils$.tryOrStopSparkContext(Utils.scala:1302)
	at org.apache.spark.scheduler.AsyncEventQueue$$anon$2.run(AsyncEventQueue.scala:83)
19/05/23 10:05:15 ERROR Utils: throw uncaught fatal error in thread spark-listener-group-appStatus
java.lang.InterruptedException
	at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.reportInterruptAfterWait(AbstractQueuedSynchronizer.java:2056)
	at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2090)
	at java.base/java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:433)
	at org.apache.spark.scheduler.AsyncEventQueue.$anonfun$dispatch$1(AsyncEventQueue.scala:97)
	at scala.runtime.java8.JFunction0$mcJ$sp.apply(JFunction0$mcJ$sp.java:23)
	at scala.util.DynamicVariable.withValue(DynamicVariable.scala:62)
	at org.apache.spark.scheduler.AsyncEventQueue.org$apache$spark$scheduler$AsyncEventQueue$$dispatch(AsyncEventQueue.scala:87)
	at org.apache.spark.scheduler.AsyncEventQueue$$anon$2.$anonfun$run$1(AsyncEventQueue.scala:83)
	at org.apache.spark.util.Utils$.tryOrStopSparkContext(Utils.scala:1302)
	at org.apache.spark.scheduler.AsyncEventQueue$$anon$2.run(AsyncEventQueue.scala:83)
19/05/23 10:05:15 INFO SparkContext: SparkContext already stopped.
19/05/23 10:05:15 INFO SparkUI: Stopped Spark web UI at http://192.168.0.110:4041
[success] Total time: 52 s, completed May 23, 2019, 10:05:15 AM
19/05/23 10:05:15 INFO DiskBlockManager: Shutdown hook called
19/05/23 10:05:15 INFO ShutdownHookManager: Shutdown hook called
19/05/23 10:05:15 INFO ShutdownHookManager: Deleting directory /tmp/spark-d0f8141d-9d13-45c9-b36c-c61b03755edd/userFiles-262e5486-7b4e-4839-a8a1-3c56eda9ee19
19/05/23 10:05:15 INFO ShutdownHookManager: Deleting directory /tmp/spark-d0f8141d-9d13-45c9-b36c-c61b03755edd


Отчоты.

$ ls -la
total 195112
drwxr-xr-x 1 mayton mayton      692 May 23 10:05 .
drwxrwxrwx 1 mayton mayton      106 May 23 10:04 ..
-rw-r--r-- 1 mayton mayton 15250705 May 23 10:05 part-00000
-rw-r--r-- 1 mayton mayton   119156 May 23 10:05 .part-00000.crc
-rw-r--r-- 1 mayton mayton 15254781 May 23 10:05 part-00001
-rw-r--r-- 1 mayton mayton   119188 May 23 10:05 .part-00001.crc
-rw-r--r-- 1 mayton mayton 15245033 May 23 10:05 part-00002
-rw-r--r-- 1 mayton mayton   119112 May 23 10:05 .part-00002.crc
-rw-r--r-- 1 mayton mayton 15253456 May 23 10:05 part-00003
-rw-r--r-- 1 mayton mayton   119176 May 23 10:05 .part-00003.crc
-rw-r--r-- 1 mayton mayton 15251017 May 23 10:05 part-00004
-rw-r--r-- 1 mayton mayton   119160 May 23 10:05 .part-00004.crc
-rw-r--r-- 1 mayton mayton 15239248 May 23 10:05 part-00005
-rw-r--r-- 1 mayton mayton   119068 May 23 10:05 .part-00005.crc
-rw-r--r-- 1 mayton mayton 15232831 May 23 10:05 part-00006
-rw-r--r-- 1 mayton mayton   119016 May 23 10:05 .part-00006.crc
-rw-r--r-- 1 mayton mayton 15239873 May 23 10:05 part-00007
-rw-r--r-- 1 mayton mayton   119072 May 23 10:05 .part-00007.crc
-rw-r--r-- 1 mayton mayton 15227945 May 23 10:05 part-00008
-rw-r--r-- 1 mayton mayton   118980 May 23 10:05 .part-00008.crc
-rw-r--r-- 1 mayton mayton 15251852 May 23 10:05 part-00009
-rw-r--r-- 1 mayton mayton   119164 May 23 10:05 .part-00009.crc
-rw-r--r-- 1 mayton mayton 15235567 May 23 10:05 part-00010
-rw-r--r-- 1 mayton mayton   119036 May 23 10:05 .part-00010.crc
-rw-r--r-- 1 mayton mayton 15240895 May 23 10:05 part-00011
-rw-r--r-- 1 mayton mayton   119080 May 23 10:05 .part-00011.crc
-rw-r--r-- 1 mayton mayton 15253430 May 23 10:05 part-00012
-rw-r--r-- 1 mayton mayton   119176 May 23 10:05 .part-00012.crc
-rw-r--r-- 1 mayton mayton        0 May 23 10:05 _SUCCESS
-rw-r--r-- 1 mayton mayton        8 May 23 10:05 ._SUCCESS.crc
23 май 19, 10:11    [21891562]     Ответить | Цитировать Сообщить модератору
 Re: Искра под Виндой  [new]
забыл ник
Member

Откуда:
Сообщений: 3024
Это ожидаемое поведение. Внутри спарк разбивает rdd\dataframe на партитишены и работает с ними параллельно, запись не исключение(на что собственно инамекает префикс part-). Сделано это потому что при типичном сценарии - эту папку будет вычитывать другая джоба и то что ваш файл разбит на партитишены позволит ускорить чтение. Забудьте про файлы с понятными именами типа report.txt, если вам гужен именно такой выход - придется делать это ручками, например так -

df.repartition(1)//соберет все в один партитишен).writeAsCsv

writeAsCsv = {
Hadoop Api to rename file
}
23 май 19, 11:22    [21891673]     Ответить | Цитировать Сообщить модератору
 Re: Искра под Виндой  [new]
mayton
Member

Откуда: loopback
Сообщений: 42343
Сорян. Настал рабочий день и я снова под Windows 10.

Поробую поднять в докере Hadoop-slave
https://hub.docker.com/r/anchorfree/hadoop-slave

Поскольку WinUtils - палёный софт буду ставить через внутренние процедуры. Это займет время.
23 май 19, 11:24    [21891680]     Ответить | Цитировать Сообщить модератору
 Re: Искра под Виндой  [new]
mayton
Member

Откуда: loopback
Сообщений: 42343
забыл ник
Забудьте про файлы с понятными именами типа report.txt, если вам гужен именно такой выход - придется делать это ручками, например так -

df.repartition(1)//соберет все в один партитишен).writeAsCsv

writeAsCsv = {
Hadoop Api to rename file
}

ОК. Спасибо. Меня не пугают непонятные файлы. Просто хотел услышать от знатока Spark что это ожидаемое поведение.
23 май 19, 11:26    [21891683]     Ответить | Цитировать Сообщить модератору
 Re: Искра под Виндой  [new]
забыл ник
Member

Откуда:
Сообщений: 3024
Вообще крайне рекомендую ознакомиться с форматом parquet. У нас например по полиси все промежуточные операции только на нем, разрешается только либо спраовчники ккие вначале вычитывать как другие форматы(те что не подконтрольны нам) либо конечная запись - если какая тула ожидает в формате отличном от паркета. Производительность parquet на уровне
23 май 19, 11:34    [21891694]     Ответить | Цитировать Сообщить модератору
 Re: Искра под Виндой  [new]
mayton
Member

Откуда: loopback
Сообщений: 42343
Эта линка ? https://parquet.apache.org/
23 май 19, 11:47    [21891717]     Ответить | Цитировать Сообщить модератору
 Re: Искра под Виндой  [new]
забыл ник
Member

Откуда:
Сообщений: 3024
Да.
23 май 19, 11:57    [21891726]     Ответить | Цитировать Сообщить модератору
 Re: Искра под Виндой  [new]
mayton
Member

Откуда: loopback
Сообщений: 42343
На проекте решили использовать ORC https://orc.apache.org/

Вернее ... заказчик решил.

Интересная штука.
30 июн 19, 21:27    [21917856]     Ответить | Цитировать Сообщить модератору
 Re: Искра под Виндой  [new]
Sergunka
Member

Откуда: Bay Area, CA
Сообщений: 1961
mayton
Попробую через пару часиков под Ubuntu. Думаю взлетит все в шоколаде.


+1 Вот зачем парить мозги если есть Юбунту?
1 июл 19, 02:41    [21917878]     Ответить | Цитировать Сообщить модератору
 Re: Искра под Виндой  [new]
Sergunka
Member

Откуда: Bay Area, CA
Сообщений: 1961
mayton
На проекте решили использовать ORC https://orc.apache.org/

Вернее ... заказчик решил.

Интересная штука.


Вы вообще где? А то уж больно продвинутый у вас заказчик
1 июл 19, 08:43    [21917905]     Ответить | Цитировать Сообщить модератору
 Re: Искра под Виндой  [new]
mayton
Member

Откуда: loopback
Сообщений: 42343
Для современной разработки это неуместный вопрос. Команда - распределённая.
Часть - в USA. Часть в Украине.
1 июл 19, 10:51    [21917967]     Ответить | Цитировать Сообщить модератору
 Re: Искра под Виндой  [new]
забыл ник
Member

Откуда:
Сообщений: 3024
мы orc не пробовали, но из того что я читал, практически одно и тоже что и паркет. если структура обьектов для датафрейма вложенная или древовидная то лучше паркет, если плоская то orc, по производительности вроде почти одно и тоже
1 июл 19, 11:45    [21918003]     Ответить | Цитировать Сообщить модератору
 Re: Искра под Виндой  [new]
mayton
Member

Откуда: loopback
Сообщений: 42343
С точки зрения использования ОРК будет попроще. И авторский сайт очень быстро позволяет
"войти" в использование. А паркет у меня за 1 час не взлетел. Неосилил я его принципы. По голому
API-же трудно понять юзкейс.
1 июл 19, 11:48    [21918009]     Ответить | Цитировать Сообщить модератору
 Re: Искра под Виндой  [new]
забыл ник
Member

Откуда:
Сообщений: 3024
в смысле попроще? 99% использования - прочитать датафрейм записать датафрейм. о каких принципах речь, удивляешь честно говоря
1 июл 19, 11:50    [21918013]     Ответить | Цитировать Сообщить модератору
 Re: Искра под Виндой  [new]
mayton
Member

Откуда: loopback
Сообщений: 42343
Сколько строк тебе понадобиться чтобы на паркете описать например схему в 3 колонки
типа строка, число и сумма. И сохранить это всё в файлик. На ОРК-е - штук 20 строк.
1 июл 19, 11:58    [21918022]     Ответить | Цитировать Сообщить модератору
 Re: Искра под Виндой  [new]
забыл ник
Member

Откуда:
Сообщений: 3024
Может я конечно чего не понимаю, но вот рабочий код

case class QhrExclusion(DESIGNATED_MARKET_AREA_ID: Int, INTAB_START_DATETIME: Timestamp, INTAB_END_DATETIME: Timestamp)

val df = spark.read.schema(Encoders.product[QhrExclusion].schema).parquet(exclusionsFileName).as[QhrExclusion]
spark.write.parquet("newname")
1 июл 19, 12:09    [21918031]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Java Ответить