服务器为Centos 7, 因此本文选择 Red Hat Enterprise Linux 7 / Oracle Linux 7 (Architecture Independent), RPM Package 版本,(mysql80-community-release-el7-2.noarch.rpm)
plt.scatter(X1, y, marker='o', s=50, c='g') plt.show() # The Learning Rate alpha. alpha = 0.01
接下来我们定义梯度函数:
1 2 3 4
defgradient_function(theta, X, y): '''Gradient of the function J definition.''' diff = np.dot(X, theta) - y return (1./m) * np.dot(np.transpose(X), diff)
nginx version: nginx/1.10.3 built by gcc 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) built with OpenSSL 1.0.2k-fips 26 Jan 2017 TLS SNI support enabled configure arguments: --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --conf-path=/usr/local/nginx/conf/nginx.conf
除了偏函数所有的,所有的match语句必须是完全覆盖所有输入的。当输入类型为Any时,在结尾用case _ 或 case some_name作为默认语句。
类型匹配 case i:int => "int value" i
case中的变量;参数中的变量def checkY(y: Int) = { for { x <- Seq(99,88,77)}{ val str = x match { case "y" …} 这里y需要加上”`”
Nil 表示非空集合
序列的匹配:用模式和递归的方式进行匹配 顺序匹配 +: 逆序匹配 :+
序列匹配:unapplySeq 用法可以匹配序列前n个值 eg. case Seq(head1, head2, _*) => ...
case中的guard eg. case a:Int if a > 5 : a+1
zipWithIndex 时,返回的元组形式为 ((name,cost),index)
语法糖:包含两个类型参数的类型(类class),可以写成中缀表达式,如序列模式匹配中的”:+”
匹配可变参数 :name @ _ 定义可变参数 T
正则表达式匹配 定义正则表达式 val regx = '''Book: title=([^,]+),\s+author=(.+)’’’.r case regx(title, author) => s"$title $author"
对象匹配中同时想引用对象 case p @ Person("Tom”, 23, address) => …, 其中 p @ … 语法将将整个Person类的实例都赋值给了 p
泛型集合匹配 case a : Seq[Int] 错误语法 JVM字节码中不会记住一个泛型的实例;def doSeqMatch(seq : Seq[T]): String = seq match { case Nil => … \\\ case head +: _ => head match { case …} 可以进行case嵌套来判定集合中具体的类型
对于偏函数和全覆盖模式匹配(seald对象、枚举)可以没有默认匹配
变量声明也可以使用模式匹配val Person(name, age) = Person("TOM”, 12) ; val head +: tail = Seq(1, 2, 3, 4)
CDH集群(CM版本5.7.0),上安装spark2,出现yarn启动失败,其间会报一个 Role failed to start due to error com.cloudera.cmf.service.config.ConfigGenException: Conflicting yarn extensions of key [spark_shuffle]. 的异常,并伴随着 zookeeper carnary 检测失败;spark2一直不能安装成功。