sqoop导出solr数据_Apache Atlas - 强大的元数据管理工具

9664867634dceddad3048574575c70c8.png

构建和安装Apache Atlas

构建Apache Atlas

下载 Apache Atlas 1.0.0 发行版源码, apache-atlas-1.0.0-sources.tar.gz, 从 downloads 下载. 然后按照以下说明构建Apache Atlas。

tar xvfz apache-atlas-1.0.0-sources.tar.gz
cd apache-atlas-sources-1.0.0/
export MAVEN_OPTS="-Xms2g -Xmx2g"
mvn clean -DskipTests installxxxxxxxxxx tar xvfz apache-atlas-1.0.0-sources.tar.gzcd apache-atlas-sources-1.0.0/export MAVEN_OPTS="-Xms2g -Xmx2g"mvn clean -DskipTests installtar xvfz apache-atlas-1.0.0-sources.tar.gzbash

打包Apache Atlas

要创建Apache Atlas软件包以在具有功能的Apache HBase和Apache Solr实例的环境中进行部署,请使用以下命令进行构建:

mvn clean -DskipTests package -Pdist
  • 注意:
    • 删除选项“ -DskipTests”以运行单元和集成测试
    • 要构建没有缩小的js,css文件的发行版,请使用* skipMinify *配置文件进行构建。 默认情况下,最小化js和css文件。

上面将为具有功能性HBase和Solr实例的环境构建Apache Atlas。需要在以下环境中设置Apache Atlas,才能在此环境中运行:

  • 配置atlas.graph.storage.hostname(请参见[配置](http://atlas.apache.org/1.0.0/Configuration.html)部分中的“图形持久性引擎-HBase”)
  • 配置atlas.graph.index.search.solr.zookeeper-url(请参见[配置](http://atlas.apache.org/1.0.0/Configuration.html)部分中的“图形搜索索引-Solr”)。
  • 将HBASE_CONF_DIR设置为指向有效的Apache HBase配置目录(请参见[配置](http://atlas.apache.org/1.0.0/Configuration.html)部分中的“图形持久性引擎-HBase”)。
  • Create indices in Apache Solr (see "Graph Search Index - Solr" in the Configuration section).

使用嵌入式Apache HBase和Apache Solr打包Apache Atlas

要创建包含Apache HBase和Apache Solr的Apache Atlas软件包,请使用Embedded-hbase-solr配置文件进行构建,如下所示:

mvn clean -DskipTests package -Pdist,embedded-hbase-solr

使用Embedded-hbase-solr配置文件将配置Apache Atlas,以便与Apache Atlas服务器一起启动和停止Apache HBase实例和Apache Solr实例。

注意:此分发配置文件仅旨在用于单节点开发,而不能用于生产环境。

使用Apache Cassandra和Apache Solr打包Apache Atlas

要创建包含Apache Cassandra和Apache Solr的Apache Atlas软件包,请使用Embedded-cassandra-solr配置文件进行构建,如下所示:

mvn clean package -Pdist,embedded-cassandra-solr

使用Embedded-cassandra-solr配置文件将配置Apache Atlas,以便与Atlas服务器一起启动和停止Apache Cassandra实例和Apache Solr实例。

注意:此分发配置文件仅旨在用于单节点开发,而不能用于生产环境。

Atlas 打包

Build将创建以下文件,这些文件用于安装Apache Atlas。

distro/target/apache-atlas-${project.version}-bin.tar.gz
distro/target/apache-atlas-${project.version}-hbase-hook.tar.gz
distro/target/apache-atlas-${project.version}-hive-hook.gz
distro/target/apache-atlas-${project.version}-kafka-hook.gz
distro/target/apache-atlas-${project.version}-sources.tar.gz
distro/target/apache-atlas-${project.version}-sqoop-hook.tar.gz
distro/target/apache-atlas-${project.version}-storm-hook.tar.gz

安装 & 运行 Apache Atlas

安装 Apache Atlas

从您要安装Apache Atlas的目录中,运行以下命令:

tar -xzvf apache-atlas-${project.version}-bin.tar.gz
cd atlas-${project.version}

使用本地Apache HBase和Apache Solr运行Apache Atlas

使用本地Apache HBase和Apache Solr运行Apache Atlas

export MANAGE_LOCAL_HBASE=true
export MANAGE_LOCAL_SOLR=true
​
bin/atlas_start.py

使用Apache Atlas

  • 要验证Apache Atlas服务器是否已启动并正在运行,请运行curl命令,如下所示:
  curl -u username:password http://localhost:21000/api/atlas/admin/version
​{"Description":"Metadata Management and Data Governance Platform over Hadoop","Version":"1.0.0","Name":"apache-atlas"}
  • 快速启动以加载样本模型和数据
  bin/quick_start.pyEnter username for atlas :-Enter password for atlas :-
  • 使用浏览器访问Apache Atlas UI界面: http://localhost:21000

停止Apache Atlas服务器

要停止Apache Atlas,请运行以下命令:

bin/atlas_stop.py

配置Apache Atlas

默认情况下,Apache Atlas使用的配置目录为* {package dir} / conf *。 要将设置的环境变量ATLAS_CONF覆盖到conf目录的路径。

可以在conf目录的* atlas-env.sh *文件中设置运行Apache Atlas所需的环境变量。 在执行任何命令之前,此文件将由Apache Atlas脚本获取。 可以设置以下环境变量。

# The java implementation to use. If JAVA_HOME is not found we expect java and jar to be in path
#export JAVA_HOME=
​
# any additional java opts you want to set. This will apply to both client and server operations
#export ATLAS_OPTS=
​
# any additional java opts that you want to set for client only
#export ATLAS_CLIENT_OPTS=
​
# java heap size we want to set for the client. Default is 1024MB
#export ATLAS_CLIENT_HEAP=
​
# any additional opts you want to set for atlas service.
#export ATLAS_SERVER_OPTS=
​
# java heap size we want to set for the atlas server. Default is 1024MB
#export ATLAS_SERVER_HEAP=
​
# What is is considered as atlas home dir. Default is the base location of the installed software
#export ATLAS_HOME_DIR=
​
# Where log files are stored. Defatult is logs directory under the base install location
#export ATLAS_LOG_DIR=
​
# Where pid files are stored. Defatult is logs directory under the base install location
#export ATLAS_PID_DIR=
​
# Where do you want to expand the war file. By Default it is in /server/webapp dir under the base install dir.
#export ATLAS_EXPANDED_WEBAPP_DIR=

支持大量元数据对象的设置

如果计划存储大量的元数据对象,建议您使用调整后的值以提高JVM的GC性能。

以下值是服务器端的常用选项:

export ATLAS_SERVER_OPTS="-server -XX:SoftRefLRUPolicyMSPerMB=0 -XX:+CMSClassUnloadingEnabled -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+PrintTenuringDistribution -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=dumps/atlas_server.hprof -Xloggc:logs/gc-worker.log -verbose:gc -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=1m -XX:+PrintGCDetails -XX:+PrintHeapAtGC -XX:+PrintGCTimeStamps"

The -XX:SoftRefLRUPolicyMSPerMB 发现该选项对于调节具有许多并发用户的繁重工作负载的GC性能特别有用.

对于JDK 8,建议使用以下值:

export ATLAS_SERVER_HEAP="-Xms15360m -Xmx15360m -XX:MaxNewSize=5120m -XX:MetaspaceSize=100M -XX:MaxMetaspaceSize=512m"

对于Mac OS用户请注意 如果您使用的是Mac OS,则需要配置ATLAS_SERVER_OPTS(如上所述)。在* {package dir} /conf/atlas-env.sh*中,取消注释以下行

#export ATLAS_SERVER_OPTS=

并将其更改为如下所示

export ATLAS_SERVER_OPTS="-Djava.awt.headless=true -Djava.security.krb5.realm= -Djava.security.krb5.kdc="

将Apache HBase配置为Graph Repository的存储后端

默认情况下,Apache Atlas使用[JanusGraph](http://atlas.apache.org/1.0.0/JanusGraph.html)作为图形存储库,并且是当前唯一可用的图形存储库实现。当前支持的Apache HBase版本是1.1.x。有关在Apache HBase上配置Apache Atlas图持久性的详细信息,请参阅[配置](http://atlas.apache.org/1.0.0/Configuration.html)部分中的“图持久性引擎-HBase”。

可以使用以下配置来设置Apache Atlas使用的Apache HBase表:

atlas.graph.storage.hbase.table=atlas
atlas.audit.hbase.tablename=apache_atlas_entity_audit

将Apache Solr配置为Graph Repository的索引后端

默认情况下,Apache Atlas使用[JanusGraph](http://atlas.apache.org/1.0.0/JanusGraph.html)作为图形存储库,并且是当前唯一可用的图形存储库实现。要配置[JanusGraph](http://atlas.apache.org/1.0.0/JanusGraph.html)以与Apache Solr一起使用,请按照以下说明进行操作

  • 如果尚未运行,请安装Apache Solr。支持的Apache Solr版本是5.5.1。 可以从http://archive.apache.org/dist/lucene/solr/5.5.1/solr-5.5.1.tgz安装
  • 在云模式下启动Apache Solr。

SolrCloud模式将ZooKeeper服务用作群集管理的高度可用的中央位置。 对于小型集群,可以使用现有的ZooKeeper仲裁运行。 对于较大的群集,您需要运行至少三个服务器的单独的多个ZooKeeper仲裁。 注意:Apache Atlas当前仅在“云”模式下支持Apache Solr。不支持“ http”模式。 有关更多信息,请参阅Apache Solr文档-https://cwiki.apache.org/confluence/display/solr/SolrCloud

  • 例如,要启动在机器上端口8983上侦听的Apache Solr节点,可以使用以下命令:
 $SOLR_HOME/bin/solr start -c -z <zookeeper_host:port> -p 8983
  • 从SOLR_BIN(例如$ SOLR_HOME / bin)目录运行以下命令,以在Apache Solr中创建与Apache Atlas使用的索引相对应的集合。 如果Apache Atlas和Apache Solr实例位于2个不同的主机上,则首先将所需的配置文件从Apache Atlas实例主机上的ATLAS_HOME / conf / solr复制到Apache Solr实例主机上。 下文提到的命令中的SOLR_CONF指的是Apache Solr主机上已将Apache Solr配置文件复制到的目录:
  $SOLR_BIN/solr create -c vertex_index -d SOLR_CONF -shards #numShards -replicationFactor #replicationFactor$SOLR_BIN/solr create -c edge_index -d SOLR_CONF -shards #numShards -replicationFactor #replicationFactor$SOLR_BIN/solr create -c fulltext_index -d SOLR_CONF -shards #numShards -replicationFactor #replicationFactor

注意:如果未指定numShards和ReplicationFactor,则它们的默认值为1,如果您在单个节点实例上尝试使用ATLAS进行solr,就足够了。 否则,请根据Solr集群中的主机数量和maxShardsPerNode配置指定numShards。 分片的数量不能超过!SolrCloud群集中Solr节点的总数。

副本数(replicationFactor)可以根据所需的冗余设置。

还要注意,如果设置了SOLR_BIN和SOLR_CONF环境变量并将搜索索引后端设置为'solr5',则在启动Apache Atlas服务器时将自动调用Apache Solr创建索引。

  • 更改ATLAS配置以指向Apache Solr实例设置。请确保将以下配置设置为
  • ATLAS_HOME / conf / atlas-application.properties中的以下值
 atlas.graph.index.search.backend=solratlas.graph.index.search.solr.mode=cloudatlas.graph.index.search.solr.zookeeper-url=<the ZK quorum setup for solr as comma separated value> eg: 10.1.6.4:2181,10.1.6.5:2181atlas.graph.index.search.solr.zookeeper-connect-timeout=<SolrCloud Zookeeper Connection Timeout>. Default value is 60000 msatlas.graph.index.search.solr.zookeeper-session-timeout=<SolrCloud Zookeeper Session Timeout>. Default value is 60000 ms

或有关[JanusGraph](http://atlas.apache.org/1.0.0/JanusGraph.html)solr配置的更多信息,请参考http://docs.janusgraph.org/0.2.0/solr.html

在云模式下运行Apache Solr的前提条件内存-Apache Solr占用大量内存和CPU。 确保运行Apache Solr的服务器具有足够的内存,CPU和磁盘。 Apache Solr可以在32GB RAM上很好地工作。 计划为Apache Solr进程提供尽可能多的内存磁盘-如果需要存储的实体数量很大,请计划在Apache Solr用来存储索引数据的卷中至少有500 GB的可用空间

  • SolrCloud支持复制和分片。 强烈建议将SolrCloud与至少两个在启用了复制功能的不同服务器上运行的Apache Solr节点一起使用。 如果使用SolrCloud,则还需要安装ZooKeeper并配置3个或5个ZooKeeper节点

将Elasticsearch配置为图存储库的索引后端(技术预览)

默认情况下,Apache Atlas使用[JanusGraph](http://atlas.apache.org/1.0.0/JanusGraph.html)作为图形存储库,并且是当前唯一可用的图形存储库实现。 要配置[JanusGraph](http://atlas.apache.org/1.0.0/JanusGraph.html)以使用Elasticsearch,请按照以下说明进行操作

  • -安装Elasticsearch集群。 当前支持的版本是5.6.4,可以从以下网站获取:https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.4.tar.gz
  • 为了进行简单测试,可以使用Elasticsearch发行版的bin目录中的“ elasticsearch”命令启动单个Elasticsearch节点。
  • 更改Apache Atlas配置,以指向Elasticsearch实例设置。 请确保将以下配置设置为ATLAS_HOME / conf / atlas-application.properties中的以下值
 atlas.graph.index.search.backend=elasticsearchatlas.graph.index.search.hostname=<the hostname(s) of the Elasticsearch master nodes comma separated>atlas.graph.index.search.elasticsearch.client-only=true

有关用于Elasticsearch的[JanusGraph](http://atlas.apache.org/1.0.0/JanusGraph.html)配置的更多信息,请参阅http://docs.janusgraph.org/0.2.0/elasticsearch.html

配置 Kafka Topics

Apache Atlas使用Apache Kafka在运行时从其他组件获取元数据。 在[体系结构页面](http://atlas.apache.org/1.0.0/Architecture.html)中对此进行了详细描述。 根据Apache Kafka的配置,有时您可能需要在使用Apache Atlas之前显式设置主题。 为此,Apache Atlas提供了一个脚本“ bin / atlas_kafka_setup.py”,可以从Apache Atlas服务器运行该脚本。 在某些环境中,在安装Apache Atlas服务器本身之前,可能首先会开始使用这些挂钩。 在这种情况下,可以使用类似的脚本“ hook-bin / atlas_kafka_setup_hook.py”在安装了挂钩的主机上运行主题。 这两个都使用atlas-application.properties中的配置来设置主题。 有关这些详细信息,请参考[配置页面](http://atlas.apache.org/1.0.0/Configuration.html)。

Setting up Apache Atlas

有一些步骤可以设置Apache Atlas的依赖性。其中一个示例是在所选的存储后端中设置[JanusGraph](http://atlas.apache.org/1.0.0/JanusGraph.html)模式。 在简单的单服务器设置中,当服务器首次访问这些依赖项时,将使用默认配置自动设置它们。

但是,在某些情况下,我们可能希望明确地将设置步骤作为一次性操作运行。 例如,在使用[高可用性](http://atlas.apache.org/1.0.0/HighAvailability.html)的多服务器方案中,最好是第一次从一个服务器实例运行安装步骤, 然后启动服务。

要一次运行这些步骤,请从单个Apache Atlas服务器实例执行命令 bin / atlas_start.py -setup

但是,Apache Atlas服务器确实负责设置步骤的并行执行。 同样,多次运行设置步骤也是幂等的。 因此,如果为了方便起见选择在服务器启动过程中运行设置步骤,则他们应通过在配置选项中将其定义为值true来启用配置选项“ atlas.server.run.setup.on.start”。 atlas-application.properties文件。

示例:调用Apache Atlas REST API

以下是通过curl命令调用Apache Atlas REST API的几个示例。

  • List the types in the repository
  curl -u username:password http://localhost:21000/api/atlas/v2/types/typedefs/headers[ {"guid":"fa421be8-c21b-4cf8-a226-fdde559ad598","name":"Referenceable","category":"ENTITY"},{"guid":"7f3f5712-521d-450d-9bb2-ba996b6f2a4e","name":"Asset","category":"ENTITY"},{"guid":"84b02fa0-e2f4-4cc4-8b24-d2371cd00375","name":"DataSet","category":"ENTITY"},{"guid":"f93975d5-5a5c-41da-ad9d-eb7c4f91a093","name":"Process","category":"ENTITY"},{"guid":"79dcd1f9-f350-4f7b-b706-5bab416f8206","name":"Infrastructure","category":"ENTITY"}]
  • 列出给定类型的实例
  curl -u username:password http://localhost:21000/api/atlas/v2/search/basic?typeName=hive_db{"queryType":"BASIC","searchParameters":{"typeName":"hive_db","excludeDeletedEntities":false,"includeClassificationAttributes":false,"includeSubTypes":true,"includeSubClassifications":true,"limit":100,"offset":0},"entities":[{"typeName":"hive_db","guid":"5d900c19-094d-4681-8a86-4eb1d6ffbe89","status":"ACTIVE","displayText":"default","classificationNames":[],"attributes":{"owner":"public","createTime":null,"qualifiedName":"default@cl1","name":"default","description":"Default Hive database"}},{"typeName":"hive_db","guid":"3a0b14b0-ab85-4b65-89f2-e418f3f7f77c","status":"ACTIVE","displayText":"finance","classificationNames":[],"attributes":{"owner":"hive","createTime":null,"qualifiedName":"finance@cl1","name":"finance","description":null}}]}
  • 搜索实体
  curl -u username:password http://localhost:21000/api/atlas/v2/search/dsl?query=hive_db%20where%20name='default'{"queryType":"DSL","queryText":"hive_db where name='default'","entities":[{"typeName":"hive_db","guid":"5d900c19-094d-4681-8a86-4eb1d6ffbe89","status":"ACTIVE","displayText":"default","classificationNames":[],"attributes":{"owner":"public","createTime":null,"qualifiedName":"default@cl1","name":"default","description":"Default Hive database"}}]}

排除故障

安装问题

如果Apache Atlas服务的安装由于任何原因失败,则进行下一次安装(通过显式调用atlas_start.py -setup或启用配置选项atlas.server.run.setup.on.start )将失败,并显示一条消息,例如“以前的安装运行可能未完全完成。”。 在这种情况下,您需要手动确保安装程序可以运行并删除/ apache_atlas / setup_in_progress`上的Zookeeper节点,然后再尝试再次运行安装程序。

如果由于Apache HBase模式设置错误而导致安装失败,则可能需要修复Apache HBase模式。 如果尚未存储任何数据,则还可以禁用和删除Apache Atlas使用的Apache HBase表,然后再次运行安装程序。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/350125.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mac入门--如何使用brew安装多个PHP版本

一 安装7.1 1. 安装PHP7.1 brew install php7.12. 修改配置 php-fpm.conf,一般在/usr/local/etc/php下(如果php-fpm.conf中不存在&#xff0c;则查找php-fpm.d目录) vim php-fpm.conflisten 127.0.0.1:90003. 启动PHP7.1 brew services start php7.14. 这时php-fpm会监听9000端…

python单例模式继承_python单例模式

单例模式是常见的一种设计模式&#xff0c;它是针对类的一种描述&#xff0c;因此&#xff0c;我们可以使用python的decorator来实现通用的单例模式。一.基本的单例模式首先建立我们的decorator。我们需要为classType建立_instance和_lock成员&#xff1a;Pythondef singleton(…

[MEGA DEAL]完整的Java编程训练营(94%)

成为Java Master的10门课程&#xff08;83.5小时&#xff09;&#xff1a;使用JavaFX的设计UI&#xff0c;利用设计模式&#xff0c;Master Multithreading等 嘿&#xff0c;怪胎&#xff0c; 本周&#xff0c;在我们的JCG Deals商店中 &#xff0c;我们提供了一个极端的报价…

【洛谷 1879】玉米田

题目描述农场主John新买了一块长方形的新牧场&#xff0c;这块牧场被划分成M行N列(1 ≤ M ≤ 12; 1 ≤ N ≤ 12)&#xff0c;每一格都是一块正方形的土地。John打算在牧场上的某几格里种上美味的草&#xff0c;供他的奶牛们享用。遗憾的是&#xff0c;有些土地相当贫瘠&#xf…

echarts的tree怎么控制位置_自动化考研保研面试—线性系统控制器设计

这个问题是我导师&#xff08;面试组长&#xff09;多次在保研考研面试的时候问过的&#xff0c;而且每年都会问&#xff01;问题其实不难&#xff0c;涉及的知识点也就是自控原理经典控制理论的部分&#xff0c;但是基本上很少有人能够完整地回答出来&#xff0c;不服的话请看…

PCF上的Spring Cloud合同和Spring Cloud Services

最近&#xff0c;我们有一个客户&#xff0c;对于使用Spring Cloud Contract &#xff08;SCC&#xff09;来防止微服务团队之间的API“漂移”&#xff0c;微型开发团队需要由单个开发团队来照顾构成企业应用程序一部分的单个API的想法非常感兴趣。 Spring Cloud Contract是Sp…

MS Lync2010客户端开发体会

和前身OCS2007 相比较&#xff0c;Lync2010原生客户端的扩展性大大缩小了&#xff0c;但是提供了很好的客户端SDK&#xff0c;整个系统架构也有较大变化。由于Lync2010原生客户端实在太简单&#xff0c;用惯了QQ的国人&#xff0c;实在无法接受以下功能的缺失&#xff1a; 组织…

date javascript 时区_第23节 Datejs 日期库-Web前端开发之Javascript-零点程序员-王唯

Datejs 是一个开源的JavaScript库&#xff0c;用来解析、格式化和处理日期数据&#xff0c;支持多种语言的日期格式处理&#xff1b;官网&#xff1a;www.datejs.com/Moment.js 是一个简单易用的轻量级JavaScript日期处理类库&#xff0c;提供了日期格式化、日期解析等功能。它…

制杖题

题目描述 求不大于 m 的、 质因数集与给定质数集有交集的自然数之和。 输入格式 第一行二个整数 n&#xff0c;m。 第二行 n 个整数&#xff0c;表示质数集内的元素 p[i]。 输出格式 一个整数&#xff0c;表示答案&#xff0c;对 376544743 取模。 输入输出样例 输入 #1复制 2 …

煤矿安全规程专家解读2016电子版_【学习】煤矿安全规程专家解读(165)

点击蓝字关注我们第二编 井工部分第三百三十三条爆破前&#xff0c;必须加强对机器、液压支架和电缆等的保护或将其移出工作面。爆破前&#xff0c;班组长必须亲自布置专人在警戒线和可能进入爆破地点的所有通路上担任警戒工作。警戒人员必须在安全地点警戒。警戒线处应设置警…

DC / OS中具有Java和数据库应用程序的服务发现

该博客将展示一个简单的Java应用程序如何使用DC / OS中的服务发现与数据库进行对话。 为什么要进行服务发现&#xff1f; 应用程序通常由多个组件组成&#xff0c;例如应用程序服务器&#xff0c;数据库&#xff0c;Web服务器&#xff0c;缓存和消息传递服务器。 通常&#xf…

RAC环境下创建本地数据文件的解决方法

引用收藏&#xff1a;http://blog.itpub.net/501889/viewspace-1083311/ 同事不小心&#xff0c;在RAC环境下创建了本地数据文件&#xff0c;这个肯定会出问题的&#xff0c;节点2不能访问此数据文件。其实发现做错了&#xff0c;立马删掉应该没有问题。数据文件还没有数据。下…

诺基亚n1平板电脑刷机教程_【个人记事本】闲鱼购买平板的经历

今年由于疫情原因&#xff0c;国内开展了全体学生在家学习的模式&#xff0c;这就避免不了老师发一些课件&#xff0c;还有一些录课的视频等电子学习资料等。考虑到开学复习的便利性&#xff08;平板比笔记本电脑更具有便携性&#xff0c;更方便&#xff09;。所以&#xff0c;…

找出一个字符串中出现次数最多的字_487,重构字符串

想了解更多数据结构以及算法题&#xff0c;可以关注微信公众号“数据结构和算法”&#xff0c;每天一题为你精彩解答。问题描述给定一个字符串S&#xff0c;检查是否能重新排布其中的字母&#xff0c;使得两相邻的字符不同。若可行&#xff0c;输出任意可行的结果。若不可行&am…

一、数据设计规范

一、数据设计规范 1、表的前缀 1、表名称不应该取得太长&#xff08;一般不超过三个英文单词。不推荐使用中文拼音&#xff0c;总的长度不要超过30个字符&#xff09; 格式:Tbl_Wms_log 表示 表_Wms系统_log 好处:执行查询方式辨别SQL类别(T_表-Table、V_视图-View、S_存储过…

http缓存管理器_小心缓存管理器

http缓存管理器如果使用spring和JPA&#xff0c;则很有可能利用ehcache&#xff08;或其他缓存提供程序&#xff09;。 您可以在两种不同的情况下进行此操作&#xff1a;JPA 2级缓存和spring方法缓存。 配置应用程序时&#xff0c;通常会设置JPA提供程序的二级缓存提供程序&am…

cad线加粗怎么设置_AutoCAD2019怎么加粗线条 将不同线段加粗方法

AutoCAD2019是一款非常专业的制图软件&#xff0c;那有很多用户表示自己不知道这款软件怎么加粗线条&#xff0c;下面就通过这篇文章给大家介绍一下&#xff0c;一起往下看吧&#xff01;如图所示&#xff0c;我用L命令绘制一根线段&#xff1a;&#xff0c;这根线段的宽度为默…

时间管理——你不可不知的3种时间管理方法

时间管理——你不可不知的3种时间管理方法 时间管理 英文名:Time Management   请问&#xff0c;如果每天都有86400元进入你的银行户头&#xff0c;而你必须当天用光&#xff0c;你会如何运用这笔钱&#xff1f;   天下真有这样的好事吗&#xff1f;   是的&#xff0c;…

python tkinter布局混用_[宜配屋]听图阁

这篇文章主要介绍了python tkinter控件布局项目实例,文中通过示例代码介绍的非常详细&#xff0c;对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下代码部分&#xff1a;from tkinter import *import tkinter.messagebox as messageboxclass Tkdemo():def __i…

ASP.NET中利用ashx实现图片防盗链

盗链的危害我就不说了&#xff0c;网上有很多。 直接分析盗链原理&#xff1a;看下面用httpwatch截获的http发送的数据 GET /Img.ashx?imgsvn_work.gif HTTP/1.1 Accept: */* Referer: http://www.svnhost.cn/ Accept-Language: zh-cn UA-CPU: x86 Accept-Encoding: gzip, def…