深入理解Scala编程第三版源码解析

版权申诉
0 下载量 28 浏览量 更新于2024-10-09 收藏 871KB ZIP 举报
资源摘要信息:"Scala编程第三版源码的读书笔记" Scala是一种多范式的编程语言,它集成了面向对象编程和函数式编程的特性。Scala运行在Java平台上,并且可以无缝调用现有的Java类库。Scala编程语言的设计哲学是“简洁即是力量”。Scala的简洁不仅体现在语法上,还包括了强大的类型推断、模式匹配等特性。 Scala编程第三版源码的读书笔记可能涉及到以下几个方面的知识点: 1. Scala语言基础:理解Scala的基本语法结构,包括变量声明、控制结构(如循环和条件语句)、函数定义、类和对象等。 2. 面向对象编程:掌握Scala中的面向对象编程(OOP)概念,如继承、多态、封装、特质(trait)等。 3. 函数式编程:学习Scala中的函数式编程元素,包括不可变性、高阶函数、柯里化、纯函数、尾递归优化等。 4. 高级特性:深入了解Scala的高级特性,例如隐式转换、泛型、集合操作、并行集合、actor模型、并发编程等。 5. 类型系统:探索Scala的复杂类型系统,包括类型推断、类型参数、抽象类型成员、复合类型等。 6. 标准库:熟悉Scala标准库中的常用类和库,例如Option、Try、Future、Stream、集合类型等。 7. 应用集成:学习如何将Scala代码集成到现有的Java项目中,以及如何利用Scala的互操作性与Java类库协同工作。 8. 实际案例:通过分析源码中的实际案例,加深对Scala编程实践的理解,包括常见的设计模式和架构思路。 由于【标签】字段为空,我们无法得知这份读书笔记的具体分类和侧重点,因此以上内容只是基于标题和文件名称进行的一般性分析。如果存在具体的标签,我们可以进一步细化知识点,例如增加对测试、性能优化、框架使用(如Play、Akka)、分布式计算(如使用Spark)等方面的讨论。 在学习Scala编程第三版源码的过程中,读书笔记是一个非常有用的辅助工具。它可以帮助学习者记录和回顾学习过程中的重要概念、难点和心得体会,也可以作为与其他Scala学习者交流和分享的资源。由于源码通常是学习编程语言最直接和最深入的方式,因此通过对源码的学习和笔记整理,学习者能够更深刻地理解语言的内部机制和设计理念。

Exception in thread "main" java.lang.RuntimeException: java.lang.NoSuchFieldException: DEFAULT_TINY_CACHE_SIZE at org.apache.spark.network.util.NettyUtils.getPrivateStaticField(NettyUtils.java:131) at org.apache.spark.network.util.NettyUtils.createPooledByteBufAllocator(NettyUtils.java:118) at org.apache.spark.network.server.TransportServer.init(TransportServer.java:95) at org.apache.spark.network.server.TransportServer.<init>(TransportServer.java:74) at org.apache.spark.network.TransportContext.createServer(TransportContext.java:114) at org.apache.spark.rpc.netty.NettyRpcEnv.startServer(NettyRpcEnv.scala:118) at org.apache.spark.rpc.netty.NettyRpcEnvFactory$$anonfun$4.apply(NettyRpcEnv.scala:454) at org.apache.spark.rpc.netty.NettyRpcEnvFactory$$anonfun$4.apply(NettyRpcEnv.scala:453) at org.apache.spark.util.Utils$$anonfun$startServiceOnPort$1.apply$mcVI$sp(Utils.scala:2237) at scala.collection.immutable.Range.foreach$mVc$sp(Range.scala:160) at org.apache.spark.util.Utils$.startServiceOnPort(Utils.scala:2229) at org.apache.spark.rpc.netty.NettyRpcEnvFactory.create(NettyRpcEnv.scala:458) at org.apache.spark.rpc.RpcEnv$.create(RpcEnv.scala:56) at org.apache.spark.SparkEnv$.create(SparkEnv.scala:246) at org.apache.spark.SparkEnv$.createDriverEnv(SparkEnv.scala:175) at org.apache.spark.SparkContext.createSparkEnv(SparkContext.scala:257) at org.apache.spark.SparkContext.<init>(SparkContext.scala:432) at org.apache.spark.SparkContext$.getOrCreate(SparkContext.scala:2509) at org.apache.spark.sql.SparkSession$Builder$$anonfun$6.apply(SparkSession.scala:909) at org.apache.spark.sql.SparkSession$Builder$$anonfun$6.apply(SparkSession.scala:901) at scala.Option.getOrElse(Option.scala:121) at org.apache.spark.sql.SparkSession$Builder.getOrCreate(SparkSession.scala:901) at com.cssl.scala720.KafkaSparkStreamingHBase$.main(KafkaSparkStreamingHBase.scala:28) at com.cssl.scala720.KafkaSparkStreamingHBase.main(KafkaSparkStreamingHBase.scala) Caused by: java.lang.NoSuchFieldException: DEFAULT_TINY_CACHE_SIZE at java.lang.Class.getDeclaredField(Class.java:2070) at org.apache.spark.network.util.NettyUtils.getPrivateStaticField(NettyUtils.java:127) ... 23 more Process finished with exit code 1

2023-07-24 上传

2023-06-02 23:12:37 WARN NativeCodeLoader:60 - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable Setting default log level to "WARN". To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel). Traceback (most recent call last): File "mysqlTest.py", line 12, in <module> jdbcDF=spark.read.format("jdbc").option("url","jdbc:mysql://localhost:3306/sparktest?useSSL=false").option("driver","com.mysql.cj.jdbc.Driver").option("dbtable","employee").option("user", "root").option("password", "123456").load() File "/usr/local/spark/python/pyspark/sql/readwriter.py", line 172, in load return self._df(self._jreader.load()) File "/usr/local/spark/python/lib/py4j-0.10.7-src.zip/py4j/java_gateway.py", line 1257, in __call__ File "/usr/local/spark/python/pyspark/sql/utils.py", line 63, in deco return f(*a, **kw) File "/usr/local/spark/python/lib/py4j-0.10.7-src.zip/py4j/protocol.py", line 328, in get_return_value py4j.protocol.Py4JJavaError: An error occurred while calling o31.load. : java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at org.apache.spark.sql.execution.datasources.jdbc.DriverRegistry$.register(DriverRegistry.scala:45) at org.apache.spark.sql.execution.datasources.jdbc.JDBCOptions$$anonfun$5.apply(JDBCOptions.scala:99) at org.apache.spark.sql.execution.datasources.jdbc.JDBCOptions$$anonfun$5.apply(JDBCOptions.scala:99) at scala.Option.foreach(Option.scala:257) at org.apache.spark.sql.execution.datasources.jdbc.JDBCOptions.<init>(JDBCOptions.scala:99) at org.apache.spark.sql.execution.datasources.jdbc.JDBCOptions.<init>(JDBCOptions.scala:35) at org.apache.spark.sql.execution.datasources.jdbc.JdbcRelationProvider.createRelation(JdbcRelationProvider.scala:32) at org.apache.spark.sql.execution.datasources.DataSource.resolveRelation(DataSource.scala:318) at org.apache.spark.sql.DataFrameReader.loadV1Source(DataFrameReader.scala:223) at org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:211) at org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:167) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:244) at py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:357) at py4j.Gateway.invoke(Gateway.java:282) at py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132) at py4j.commands.CallCommand.execute(CallCommand.java:79) at py4j.GatewayConnection.run(GatewayConnection.java:238) at java.lang.Thread.run(Thread.java:748)

2023-06-03 上传

报错Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties 23/06/01 20:24:22 INFO SparkContext: Running Spark version 2.0.0 Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/collections/map/UnmodifiableMap at org.apache.hadoop.conf.Configuration$DeprecationContext.<init>(Configuration.java:409) at org.apache.hadoop.conf.Configuration.<clinit>(Configuration.java:448) at org.apache.hadoop.security.UserGroupInformation.ensureInitialized(UserGroupInformation.java:260) at org.apache.hadoop.security.UserGroupInformation.loginUserFromSubject(UserGroupInformation.java:790) at org.apache.hadoop.security.UserGroupInformation.getLoginUser(UserGroupInformation.java:760) at org.apache.hadoop.security.UserGroupInformation.getCurrentUser(UserGroupInformation.java:633) at org.apache.spark.util.Utils$$anonfun$getCurrentUserName$1.apply(Utils.scala:2245) at org.apache.spark.util.Utils$$anonfun$getCurrentUserName$1.apply(Utils.scala:2245) at scala.Option.getOrElse(Option.scala:121) at org.apache.spark.util.Utils$.getCurrentUserName(Utils.scala:2245) at org.apache.spark.SparkContext.<init>(SparkContext.scala:297) at org.apache.spark.SparkContext$.getOrCreate(SparkContext.scala:2256) at org.apache.spark.sql.SparkSession$Builder$$anonfun$8.apply(SparkSession.scala:831) at org.apache.spark.sql.SparkSession$Builder$$anonfun$8.apply(SparkSession.scala:823) at scala.Option.getOrElse(Option.scala:121) at org.apache.spark.sql.SparkSession$Builder.getOrCreate(SparkSession.scala:823) at spark.sparkMysql$.main(sparkToMysql.scala:11) at spark.sparkMysql.main(sparkToMysql.scala) Caused by: java.lang.ClassNotFoundException: org.apache.commons.collections.map.UnmodifiableMap at java.net.URLClassLoader.findClass(URLClassLoader.java:382) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 18 more Process finished with exi

2023-06-02 上传

Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.apache.flink.table.planner.plan.rules.FlinkStreamRuleSets$ at org.apache.flink.table.planner.plan.optimize.program.FlinkStreamProgram$.buildProgram(FlinkStreamProgram.scala:56) at org.apache.flink.table.planner.plan.optimize.StreamCommonSubGraphBasedOptimizer.$anonfun$optimizeTree$1(StreamCommonSubGraphBasedOptimizer.scala:158) at scala.Option.getOrElse(Option.scala:121) at org.apache.flink.table.planner.plan.optimize.StreamCommonSubGraphBasedOptimizer.optimizeTree(StreamCommonSubGraphBasedOptimizer.scala:158) at org.apache.flink.table.planner.plan.optimize.StreamCommonSubGraphBasedOptimizer.doOptimize(StreamCommonSubGraphBasedOptimizer.scala:83) at org.apache.flink.table.planner.plan.optimize.CommonSubGraphBasedOptimizer.optimize(CommonSubGraphBasedOptimizer.scala:77) at org.apache.flink.table.planner.delegation.PlannerBase.optimize(PlannerBase.scala:287) at org.apache.flink.table.planner.delegation.PlannerBase.translate(PlannerBase.scala:160) at org.apache.flink.table.api.internal.TableEnvironmentImpl.translate(TableEnvironmentImpl.java:1329) at org.apache.flink.table.api.internal.TableEnvironmentImpl.executeInternal(TableEnvironmentImpl.java:676) at org.apache.flink.table.api.internal.StatementSetImpl.execute(StatementSetImpl.java:98) at com.dtstack.chunjun.util.SqlTaskUtil.executeSql(SqlTaskUtil.java:117) at com.dtstack.chunjun.util.SqlTaskUtil.executeSqlJob(SqlTaskUtil.java:97) at com.dtstack.chunjun.Main.main(Main.java:59) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:366) at org.apache.flink.client.program.PackagedProgram.invokeInteractiveModeForExecution(PackagedProgram.java:235) at org.apache.flink.client.program.PackagedProgramUtils.getPipelineFromProgram(PackagedProgramUtils.java:158) ... 14 more

2023-06-09 上传