大数据重要操作

Flinkx/Datax/Flink-CDC 优劣势对比 FlinkX是一款基于Flink的分布式离线/实时数据同步插件,可实现多种异构数据源高效的数据同步,其由袋鼠云于2016年初步研发完成,目前有稳定的研发团队持续维护,已在Github上开源(开源地址详见文章末尾),并维护该开源社区。目前已完成批流统一,离线计算与流计算的数据同步任务都可基于FlinkX实现。FlinkX是一个基于Flink的批流统一的数据同步工具,既可以采集静态的数据,比如MySQL,HDFS等,也可以采集实时变化的数据,比如MySQL binlog,Kafka等。 阅读详情

Shell脚本

1、日期格式化
DT=`date -d'-1 day' +%Y-%m-%d`
echo $DT
2021-03-04
2、if判断 $1 $2 是参数
if [ $1 -eq 0 ] 
then echo '1'
else echo '2'
fi
if [[ $1 && $2 ]] // 两个参数

3、单引号(强制字符化),双引号(可以$引用变量),漂号(会被作为命令执行)的区别
[root@dream1 ~]# n=3
[root@dream1 ~]# echo '$n'
$n
[root@dream1 ~]# echo "$n"
3
[root@dream1 ~]# echo `$n`
-bash: 3: command not found
4、shell脚本中,配置环境变量
export HIVE_HOME=/opt/apps/hive
5、命令操作替换jar包中的文件:
显示jar中的文件列表:   jar  -tvf  xx.jar
解压jar中的指定文件:   jar  -xvf  xx.jar  yy.properties
更新jar中的指定文件:   jar  -uvf  xx.jar  yy.properties


端口

hadoop

namenode 9000/8020(看配置)

kafka

broker 9092

zookeeper

2181

hbase

regionserver 16010

case class

package jn.ws.util

import jn.ws.bean.LogBean
import org.apache.spark.sql.Row

/**
 * row => bean
 */
object EtlUtils {
  def row2Logbean(row: Row): LogBean = {
    row match {
      case Row(
        account: String
        , appId: String
        , appVersion: String
        , carrier: String
      ) =>
        LogBean(
          account
          , appId
          , appVersion
          , carrier
        )
      case _ => null
    }
  }
}


pt.map(EtlUtils.row2Logbean)

frame.rdd.map {
      case Row(
        repAdviceDealMethod: String,
        repAdviceTitle: String,
        repAdviceNumberOther: Int
      ) => Advice(
        repAdviceDealMethod,
        repAdviceTitle,
        repAdviceNumberOther
      )
      case _ => null
}

java -cp 如何依赖外部jar包


 在线分析平台

                       

布隆过滤器

val filter = new BloomFilter(200000000, 4, 1)
// 字典数据
for(id <- hisIds){
  filter.add(new Key(id.getBytes()))
}
// 广播
val bc = spark.sparkContext.broadcast(filter)
val res = log.map(s=>{
  val f = bc.value
  var isnew = 1
  // 查询是否存在
  if(f.membershipTest(new Key(s.getBytes()))) isnew = 0
}

经纬度计算 GeoHash,相同区域内根据lng,lat和GeoHash方法得出的结果相同

<dependency>

<groupId>ch.hsr</groupId>

<artifactId>geohash</artifactId>

<version>1.3.0</version>

</dependency>

GeoHash.geoHashStringWithCharacterPrecision(lat,lng,5)


spark广播变量

val dbByte = spark.sparkContext.broadcast(db2Bin) // 发送广播变量

val db = dbByte.value // 读取广播变量


Ip2Region,根据ip获取省市(无法获取区)

<dependency>

<groupId>org.lionsoul</groupId>

<artifactId>ip2region</artifactId>

<version>1.7.2</version>

</dependency>

val searcher = new DbSearcher(new DbConfig(), db)

val block = searcher.memorySearch(ip).toString


保存、读取parquet文件

resGeo.write.parquet("dataware/data/geo")

spark.read.parquet("dataware/data/geo")

按照指定分区 生成paquet文件

frame.write.partitionBy("provincename","cityname").parquet(parquetPath)


设置parquet的压缩格式

val config = Map[String,String](
  "spark.serializer" -> classOf[KryoSerializer].getName,
  "spark.sql.parquet.compression.codec" -> "snappy"
)

创建dataSet 一般模拟数据较为常用 seq需要引入

import spark.implicits._

val dt: Dataset[String] = spark.createDataset(Seq("60.208.118.18", "60.108.118.18", "60.215.77.35"))


spark读取资源目录

props.load(GeoHashDict.getClass.getClassLoader.getResourceAsStream("db.properties"))


 saprk加载配置文件

方式一

package com.ws.conf

import java.io.InputStream
import java.util.Properties

object ConfigHelper {
  val application = new Properties()
  val config: InputStream = ConfigHelper.getClass.getClassLoader.getResourceAsStream("application.properties")
  application.load(config)


  val master: String = application.getProperty("app.comm.master")

  val jdbc_driver: String = application.getProperty("app.mysql.driver")
  val jdbc_url: String = application.getProperty("app.mysql.url")
  val jdbc_username: String = application.getProperty("app.mysql.username")
  val jdbc_password: String = application.getProperty("app.mysql.password")

  val properties = new Properties()
  properties.setProperty("driver",jdbc_driver)
  properties.setProperty("user",jdbc_username)
  properties.setProperty("password",jdbc_password)

}

方式二 采用typesafe包的ConfigFacory

<dependency>
    <groupId>com.typesafe</groupId>
    <artifactId>config</artifactId>
    <version>1.3.0</version>
</dependency>
package com.ws.conf

import java.util.Properties

import com.typesafe.config.ConfigFactory

object ConfigHelper {
  private lazy val application = ConfigFactory.load()
  val master: String = application.getString("app.comm.master")

  val jdbc_driver: String = application.getString("app.mysql.driver")
  val jdbc_url: String = application.getString("app.mysql.url")
  val jdbc_username: String = application.getString("app.mysql.username")
  val jdbc_password: String = application.getString("app.mysql.password")

  val properties = new Properties()
  properties.setProperty("driver",jdbc_driver)
  properties.setProperty("user",jdbc_username)
  properties.setProperty("password",jdbc_password)

}

spark读取hdfs


spark读取mysql

val props = new Properties() props.load(GeoHashDict.getClass.getClassLoader.getResourceAsStream("db.properties"))

val dataFrame = spark.read.jdbc("jdbc:mysql://dream3:3306/realtimedw?useUnicode=true&characterEncoding=utf8", "t_md_areas", props)


spark自定义函数的使用

方式一

import org.apache.spark.sql.functions._

val geoMap: UserDefinedFunction = udf((lng:Double, lat:Double) => {

     GeoHash.geoHashStringWithCharacterPrecision(lat,lng,5)

})

val resGeo: DataFrame = res.select('province, 'city, 'region, geoMap('lng, 'lat) as "geohash")

方式二


DataSet转DataFrame

val DataFrame = dataset.toDF("ip", "region")

创建dataFrame


spark读取csv文件指定schema,默认都是string

val schema = new StructType()
  .add("countid", DataTypes.StringType)
  .add("deviceid", DataTypes.StringType)
  .add("sessionid", DataTypes.StringType)
  .add("ts", DataTypes.LongType)
val logdf: DataFrame = spark.read.option("header",true).schema(schema).csv("dataware/data/idBind/day1/event_app_action_log")

相对路径使用

val logdf: DataFrame = spark.read.schema(schema).csv("dataware/data/idBind/event_app_action_log")


sqoop迁移注意事项

Hive开启日志


cp hive-log4j2.properties.template hive-log4j2.properties

修改日志目录

Hive报错

 hive -hiveconf hive.root.logger=DEBUG,console

进入hive命令行,执行报错的语句


hive本地模式开启

hive.exec.mode.local.auto

false

让Hive确定是否自动启动本地模式运行

hive.exec.mode.local.auto.inputbytes.max

134217728(128MB)

当第一个参数为true时,输入字节小于此值时才能启动本地模式

hive.exec.mode.local.auto.input.files.max

4

当一个参数为true时,任务个数小于此值时才能启动本地模式

hive> SET hive.exec.mode.local.auto=true;
hive> SET hive.exec.mode.local.auto.inputbytes.max=50000000;
hive> SET hive.exec.mode.local.auto.input.files.max=5;

hiveserver2 的默认运行jvm 最多为256M 复杂的mr程序会报错无法执行,

修改hive-config.sh 调整Jvm参数

hive full join

hive explode 行转列

select(explode(array(did,uid)) as ids) from xx


spark 整合hive


hive desc 获取建表语句和表结构

show create table app_log; // 获取建表语句


hive时间戳转换

注意 hive中的时间戳是精确到秒的,而我们的代码中一般是精确到毫秒的,所以处理我们的时间戳需要除以1000在运算

0: jdbc:hive2://dream4:10000> select unix_timestamp(); 
+-------------+--+
|     _c0     |
+-------------+--+
| 1614832733  |
+-------------+--+
1 row selected (0.06 seconds)
0: jdbc:hive2://dream4:10000> select from_unixtime(1614832638,'yyyy-MM-dd');
+-------------+--+
|     _c0     |
+-------------+--+
| 2021-03-04  |
+-------------+--+
1 row selected (0.056 seconds)
0: jdbc:hive2://dream4:10000> 

insert 指定分区

spark.sql(
  """
    |insert into ipbind(deviceid,countid,ts,score) partition(dt='2020-03-08')
    |select
    | deviceid,countid,min(ts) ts,count(distinct sessionid) * 100 as score
    |from
    | logs
    |group by
    | deviceid,countid
    |""".stripMargin)

创建表指定分区

create table dwd17.idbind(deviceid string,accountid string,ts bigint,score double) partitioned by (dt string);


导入数据指定分区

load data local inpath '/root/rng.11' into table test.act_range partiton('2020-10-11')


hive 高阶聚合函数 cube 多维立方体

With cube(所有维度自由组合)

grouping sets(按照指定维度组合)


一个字段join两个字段,两列合成一列处理

select explode(array(deviceid,account)) as ids from idbind;

 Permission denied: user=Wsong, access=WRITE, inode=


启动flume

bin/flume-ng agent -c conf/ -f agentconf/yiee_log.properties -n a1  -Dflume.root.logger=DEBUG,console


删除处于ACCEPTED状态的任务


for i in  `yarn application  -list | grep -w  ACCEPTED | awk '{print $1}' | grep application_`; do yarn  application -kill $i; done


spark-yarn的资源配置

yarn的nodemanager的 容器 的工作目录


// 模式匹配

val Array(bzipPath:String,parquetPath:String) = args


隐式转换

package com.ws.etl.bean

class RichString(str: String) {
  // 定义方法
  def toRichInt: Int = {
    try {
      str.toInt
    } catch {
      case _: Exception => 0
    }
  }
  def toRichDouble: Double = try {
    str.toDouble
  } catch {
    case _:Exception => 0.0
  }
}

object RichString {
  // 定义隐式转换
  implicit def string2RichString(str:String): RichString = new RichString(str)
}

导入隐式转换,然后使用

def main(args: Array[String]): Unit = {
    // 导入隐式转换
    import com.ws.etl.bean.RichString._
    val a = "10"
    // 使用隐式转换
    println(a.toRichInt-1)
}

解决caseClass 只能装22个属性

package cn.ws.bean

/**
  * scala 2.10 版本之前 caseClass 只能装22个属性,为了解决这个问题,我们可以实现Product接口解决这个问题
  */
class Psn extend Product(
			   val name: String, // 	会话标识
			   val age: Int
		   ) extends Product {
	/**
	  * @param n 角标
	  */
	override def productElement(n: Int): Any = n match {
		case 0 => name
		case 1 => age
	}

	/**
	  * 成员属性个数
	  *
	  * @return
	  */
	override def productArity: Int = 2

	/**
	  * 是否一个同一类型
	  *
	  * @param that
	  * @return
	  */
	override def canEqual(that: Any): Boolean = that.isInstanceOf[Psn]
}

object Psn {
	def apply(arr: Array[String]): Psn = new Psn(
		arr(0),
		arr(1).toInt
	)
}

spark删除文件的方法,通用于hdfs、本地环境、或其他文件系统

package com.ws.etl.utils


import org.apache.hadoop.fs.{FileSystem, Path}
import org.apache.spark.SparkContext

object FileHelper {
  /**
   * 为了解决运行环境不一定的情况下(本地 hdfs),删除文件的问题
   *
   * @param dirPath 文件路径
   * @param sc      sparkContext
   */
  def deleteDir(dirPath: String, sc: SparkContext): AnyVal = {
    // spark 集成了 hadoop,所以我们能拿到他的core-site配置文件
    val conf = sc.hadoopConfiguration
    // 根据配置文件,获取文件系统
    val system = FileSystem.get(conf)
    val path = new Path(dirPath)
    // 根据文件系统来判断文件是否存在
    if (system.exists(path)) {
      // 是否递归删除
      system.delete(path, true)
    }
  }
}

dataFrame 过滤简单写法

1、map+=  2、match case

SparkGraph

命令行创建kafka-consumer

如何指定offset:--offset,如果指定--offset之后必须指定分区号 --partition

 bin/kafka-console-consumer.sh --bootstrap-server dream1:9092,dream2:9092,dream3:9092 --topic test --offset earliest --partition 0

spark序列化及优化方式

spark默认的序列化方式是ObjectOutputStream,比较臃肿

可以指定spark的序列化方式,org.apache.spark.serializer.kryoSerializer,这个序列化方式会少一些元数据信息,但是必须要携带类的信息,因为driver端和executor端序列化、反序列化必须要携带类的属性,是哪个类,以便于反序列化。

我们可以指定kryoSerializer所需要序列化的所有类,这样就不需要带元数据信息了。

conf.registerKryoClasses(***)


scala解构赋值

val Array(today:String,yearstoday: String) = args

 xmail

yum install mailx

vi /etc/mail.rc
set from=dream1@qq.com   #(需修改)收件人显示的发件人名称,可填写你的名字等
set smtp=smtp.qq.com  #(需修改)你所使用的外部邮箱的smtp服务器地址
set smtp-auth-user=957830825@qq.com #(需修改)你所使用的外部邮箱的用户名
set smtp-auth-password=nxyvstujuxebbbjj #(需修改)你所使用的外部邮箱密码
set smtp-auth=login
测试
echo 123 | mailx -v -s "test" xxxx@qq.com

sql-client flinkcdc

# 启动flink本地集群
${FLINK_HOME}/bin/start-cluster.sh
# 启动sql-client
${FLINK_HOME}/bin/sql-client.sh
# 需要往flink lib中放入flink-cdc.jar
# 执行完成后 看flink本地模式的webui,http://xxx:8081/#/overview

# 来源脚本1,cdc字典流
CREATE TABLE cdc_dict (
        id STRING,              
  		name STRING,               
  		age BIGINT,             
  		create_time timestamp,               
  		PRIMARY KEY(id) NOT ENFORCED   ) WITH (   
    'connector' = 'mysql-cdc',  
     'hostname' = 'xxxx',  
     'port' = '3306',   
    'username' = 'root',  
     'password' = 'xxxx',  
     'database-name' = 'dwd',   
    'table-name' = 'cdc_dict'  
 );
# 来源脚本1,kafka主流,包含sasl配置
create table cdc_main ( 
  id STRING,
  addr STRING
)
with (
'connector' = 'kafka',
'topic' = 'flink_test',
'properties.bootstrap.servers' = 'xxxx:6667', 
'properties.group.id' = 'park_test_group',
'scan.startup.mode' = 'latest-offset',
'value.format'='json',
'value.json.fail-on-missing-field' = 'false',
'value.json.ignore-parse-errors' = 'true','properties.security.protocol' = 'SASL_PLAINTEXT','properties.sasl.mechanism' = 'PLAIN','properties.sasl.jaas.config' ='org.apache.kafka.common.security.plain.PlainLoginModule required  username="admin" password="Dmp@xx";');
-- 去向脚本
CREATE TABLE cdc_res (  
     id STRING, 
      name STRING, 
      age BIGINT,  
     create_time timestamp, 
      addr STRING, 
      PRIMARY KEY(id) NOT ENFORCED  
 ) WITH ( 
    'connector' = 'jdbc', 
    'url' = 'jdbc:mysql://xxxx:3306/dwd?characterEncoding=UTF-8',  
   'table-name' = 'cdc_res',  
   'username' = 'root', 
    'password' = 'xxxx' 
);
# 操作脚本
insert into cdc_res(id,name,age,addr) select m.id,d.name,d.age,m.addr from  cdc_main m left join cdc_dict d on d.id=m.id;

BIgData 命令操作 查看 ps -ef | grep 名称 hive Zookeeper 开启与关闭 全部 开启 zkstart-all.sh 逐个节点关闭 zkServer.sh stop 时间同步 联网 ntpdate ntp4.aliyun.com 启动 HDFS 启动 start-all.sh 关闭 sto... 阅读详情

相关推荐

为AI智能体注入云端大数据操作能力:alibabacloud-bigdata-skills项目解析

在AI智能体(Agent)技术领域,如何让大语言模型安全、高效地操作企业级云服务是一个关键挑战。其核心原理在于通过协议驱动和技能化封装,将复杂的云API调用转化为智能体可理解的标准化指令集。这一技术架构的价值在于实现了AI能力与云原生服务的深度集成,让智能体能够像经验丰富的工程师一样执行运维任务。典型的应用场景包括自动化数据平台管理、智能运维助手和企业级流程自动化。本文聚焦的alibabacloud-bigdata-skills项目,正是通过提供针对阿里云DataWorks等大数据产品的标准化技能包,并深度

weixin_30781433的博客 464

【博学谷学习记录】超强总结,用心分享|大数据之flinkCDC

Flink CDC 基于数据库日志的 Change Data Caputre 技术,实现了全量和增量的一体化读取能力,并借助 Flink 优秀的管道能力和丰富的上下游生态,支持捕获多种数据库的变更,并将这些变更实时同步到下游存储。官网链接:https://ververica.github.io/flink-cdc-connectors/github链接:https://github.com/ververica/flink-cdc-connectors。

chenmingqi322304的博客 5494

大数据技术原理与应用—实验1—熟悉常用的Linux操作和Hadoop操作

实验1—熟悉常用的Linux操作和Hadoop操作 1.切换到local文件夹: cd /usr/local 2.返回上一级: cd .. 3.切换到用户主文件夹: cd ~ 4.查看usr下所有的文件和目录: cd /usr ls-al ——————————————————————————————————— 目录(文件夹管理) 1.进入/tmp目录,创建一个名为a的目录,并查看/tmp...

DZFinder的博客 4948

查找附近的人-geohash使用方法

geohash已有java的封装: 1,导入geohash的jar包 &lt;dependency&gt; &lt;groupId&gt;ch.hsr&lt;/groupId&gt; &lt;artifactId&gt;geohash&lt;/artifactId&gt; &lt;version&gt;1.3.0&lt;/version&gt; &lt;/dependency&

liutaiyi8的博客 2055

大数据运维过程中常见的一些操作

大数据运维是确保大数据系统稳定运行、高效处理数据的关键环节。

weixin_42795092的博客 1123

geohash.jar geohash-1.3.0

geohash官方发布以及maven发布的版本都是基于jdk1.7编译的,碰到jdk1.6的项目会报unsupported major.minor version 51.0错误。这个资源是我基于jdk1.6编译的,执行测试案例都通过了。

【大数据开发运维解决方案】OGG For Bigdata 12按操作类型同步Oracle数据到kafka不同topic

Oracle可以通过OGG for Bigdata将Oracle数据库数据实时增量同步至hadoop平台(kafka,hdfs等)进行消费,笔者搭建这个环境的目的是将Oracle数据库表通过OGG同步到kafka来提供给flink做流计算。具体的实施文档已经在之前的文章中写了,这里只给出连接: OGG实时同步Oracle数据到Kafka实施文档(供flink流式计算) 这篇文章主要介绍的是: Or...

赵延东的一亩三分地 16万+

geohash-1.3.0.jar

空间索引计算工具类。 1)GeoHash用一个字符串表示经度和纬度两个坐标,比如我现在所在位置的GeoHash值为 wx4sv61q; 2)GeoHash标识的并不是一个点,而是一个区域,比如 wx4sv61q 对应的就是一个矩形区域; 3)编码的前缀可以标识更大的区域,比如 wx4sv61 编码代表的区域要大于 wx4sv61q 代表的区域,但是 wx4sv61q 代表的区域一定在 wx4sv61 代表的区域内。

BigData大数据技术——完成HBase安装及简单操作

HBase的安装和简单操作

sakurapaid的博客 646

Nexus7二代刷机教程(新手向)

该教程将使用lineageos(Android 11),同时借鉴了lineage官方的教程和songelf的教程。

2403_84391487的博客 5217

大数据相关操作

本文介绍了大数据环境的基础配置和Hadoop集群的安装部署过程。主要内容包括:1) 主机环境配置(修改主机名、固定IP、SSH免密登录等);2) Hadoop的下载与解压;3) Hadoop环境变量配置;4) HDFS、MapReduce、YARN三大核心组件的详细配置方法;5) 集群节点配置和文件同步。文章提供了完整的命令行操作指南,涵盖从系统设置到Hadoop集群搭建的全流程,适合用于构建基本的Hadoop分布式计算环境。

hhq2002322的博客 1024

PLC编程进阶:结构体(UDT)与功能块(FB)的模块化实践指南

本文深入探讨了PLC编程中实现模块化的核心方法,重点解析了结构体(UDT)与功能块(FB)的协同应用。通过将零散数据封装为UDT,并将控制逻辑打包为可复用的FB,能够构建出结构清晰、易于维护和调试的PLC程序。文章结合拧紧枪、电机控制等实战案例,提供了从设计原则到分层架构的完整实践指南,旨在帮助工程师将混乱的‘面条式’代码改造为高效的‘正规军’。

s3t4u的博客 222

大数据:HDFS操作的客户端big data tools和NFS

大数据:HDFS操作的客户端big data tools和NFS

weixin_46838716的博客 1318

芯片工程师-必须掌握的linux操作-第一讲

一个从材料专业,转行芯片验证初级工程师,自己也是从0基础开始学习入门,更知道0基础的人应该怎么去学习。 现在工作三个多月了,特地花时间给大家写这篇文章。希望能关注、支持下。 为什么芯片验证工程师必须要学习linux命令? 答: ① 芯片工程师主要的职责,就是与IC设计工程师和系统工程师密切合作,开发验证平台,能够根据项目要求产生测试计划,产生代码及功能覆盖率,撰写验证报告。 ②简单点说,主要工作内容,是编写代码去验证设计的对不对。 那么问题来了,编写代码,在什么环境呢,我现在告诉你,都是在linux系统中进

小白蒋-材料转行芯片验证 4842

【Windows Server 2019】Active Directory Certificate Services 证书颁发机构的安装,配置和管理Ⅰ——AD CS的安装和配置

博文主要介绍了Windows Server 2019的证书颁发机构的安装和配置方法。

VMware, Windows, Linux, Cisco, Container, Kubernetes, Kali 4833

对文件“D:\bigdata\Ubuntu.vmdk”的操作失败 (磁盘空间不足)。 磁盘“D:\bigdata\Ubuntu.vmdk”所在的文件系统已满。

对文件“D:\bigdata\Ubuntu.vmdk”的操作失败 (磁盘空间不足)。 磁盘“D:\bigdata\Ubuntu.vmdk”所在的文件系统已满。 选择“重试®”可重试该操作。 选择“取消”将结束会话。 解决方案:🐎 https://www.cnblogs.com/jdr-gbl/p/12846238.html

qq_34155137的博客 1714

GStreamer中h264parse元素

h264parse是 GStreamer 中处理 H.264 视频流的关键元素,主要负责解析和准备 H.264 流以便后续处理。

深之JohnChen的专栏 1029

鲲鹏Bigdata pro之HBase常用操作

介绍了在鲲鹏云平台上的Bigdata pro方案中的Hbase shell的基本操作,及相应的运行结果。

陈广智的专栏 885

深度强化学习 | 基于SAC算法的移动机器人路径跟踪(附Pytorch实现)

软性演员-评论家(Soft Actor-Critic, SAC)算法是基于最大熵原理的离线策略方法,本节将基于深度强化学习中的SAC算法实现移动机器人的路径跟踪,介绍网络设计、动作空间设计和奖励函数设计,并提供Pytorch实现加深理解

FRIGIDWINTER的博客 5736

Unity Shader之路(一)什么是Unity Shader?

Unity Shader前言什么是UnityShaderUnity Shader和材质的关系 前言 众所周知,要想当游戏开发工程师,Unity中的Shader编写不得不摸,这一系列文章我将描写我的Shader学习之路,致敬冯乐乐的书Unity Shader入门精要,此篇什么是Unity Shader?希望能给后人一点方向 我们刚开始接触Unity的时候,总是会遇到材质,但是不了解材质都是什么,为什么可以在很多材质中选择,为什么有时候选择了其他材质后就不能达到我们想要的结果,为什么资源商店有那么多的材质,山.

TurboQ珞珈 2240

熟悉常用的Linux操作和Hadoop操作——大数据基础编程实验之一

实验一:熟悉常用的Linux操作和Hadoop操作 1.1 实验目的 Hadoop运行在Linux系统上,因此,需要学习实践一些常用的Linux命令。本实验旨在熟悉常用的Linux操作和Hadoop操作,为顺利开展后续其他实验奠定基础。 1.2 实验平台 (1)操作系统:Linux(Ubuntu 16.04) (2)Hadoop版本:3.1.3 1.3 实验步骤 1.3.1 熟悉常用的Linux操作 1)cd命令:切换目录 (1)切换到目录/usr/local。 (2)切换到当前目录的上一级目录。 (3

weixin_44616879的博客 4231

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

BigData进阶--Spark的RDD操作

在上篇博文中已经讨论过Spark的RDD和DataFrame,这篇就来探究一下RDD集的具体操作。    Spark中RDD是一个不可变的分布式对象集合,每个RDD都被分成多个分区,这些分区运行在集群中的不同节点上。用户可以通过两种方式来创建RDD集合:读取外部数据集和在驱动器程序里分发驱动器程序中的对象集合(比如list和set)。创建完成后,RDD支持转化操作和行为操作,通俗的来讲,就是将R

GO BEYOND YOURSELF 834

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

PDO操作大数据对象

PDO操作大数据对象一般在数据库中,我们保存的都只是 int 、 varchar 类型的数据,一是因为现代的关系型数据库对于这些内容会有很多的优化,二是大部分的索引也无法施加在内容过多的...

硬核项目经理 304

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

大数据Zookeeper--集群操作

客户端注册监听它关心的目录节点,当目录节点发生变化(数据改变、节点删除、子目录节点增加删除)时,ZooKeeper会通知客户端。(1)重命名/opt/module/zookeeper-3.5.7/conf 这个目录下的 zoo_sample.cfg 为 zoo.cfg。(2)在/opt/module/zookeeper-3.5.7/zkData 目录下创建一个 myid 的文件。(1)在/opt/module/zookeeper-3.5.7/这个目录下创建 zkData。如果原节点下已有2个节点,则再排。

xd__xy的博客 1329

hue大数据操作可视化工具

hue大数据操作可视化工具 一. hue安装 1、下载hue地址 https://github.com/cloudera/hue/releases/tag/release-4.7.1 2、下载相关编译依赖 [root@node2 servers]# yum -y install ant asciidoc cyrus-sasl-devel cyrus-sasl-gssapi cyrus-sasl-plain gcc gcc-c++ krb5-devel libffi-devel libxml2-devel

qq_44418841的博客 1704
上一篇: flume 设置 ‘HA‘模式
下一篇: 分组topn模型
JNWsong
博客等级 码龄9年 287粉丝 204原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值