gitweixin
  • 首页
  • 小程序代码
    • 资讯读书
    • 工具类
    • O2O
    • 地图定位
    • 社交
    • 行业软件
    • 电商类
    • 互联网类
    • 企业类
    • UI控件
  • 大数据开发
    • Hadoop
    • Spark
    • Hbase
    • Elasticsearch
    • Kafka
    • Flink
    • 数据仓库
    • 数据挖掘
    • flume
    • Kafka
    • Hive
    • shardingsphere
    • solr
  • 开发博客
    • Android
    • php
    • python
    • 运维
    • 技术架构
    • 数据库
  • 程序员网赚
  • bug清单
  • 量化投资
  • 在线查询工具
    • 去行号
    • 在线时间戳转换工具
    • 免费图片批量修改尺寸在线工具
    • SVG转JPG在线工具
    • SVG转PDF/Word
    • SVG转Draw.io可二次编辑格式
    • js代码混淆

GPT-3:这将如何影响 SEO 和内容营销?

精品微信小程序开发门户,代码全部亲测可用

  • 首页   /  
  • 作者: east
  • ( 页面48 )
深度学习 1月 26,2023

GPT-3:这将如何影响 SEO 和内容营销?

随着时间的推移,人工智能的进步使机器变得越来越聪明,以至于它们学会了利用自己的训练和知识做出基于逻辑的决策,而几乎不需要人工干预。
目录
围绕 GPT-3 的议论
人类与 GPT-3 写作
GPT 3:它对 SEO 和内容营销的影响
关键要点
最后的话
常见问题
AI(人工智能)引人入胜且充满未来感,但埃隆·马斯克和比尔·盖茨等科技巨头以及斯蒂芬·霍金斯等科学家都表示他们对 AI 越来越谨慎。 不可否认,通过促进自动化,人工智能生成的内容在很多方面让日常生活变得更轻松,但在专业方面,工作自动化加剧了人们对被机器人取代的恐惧。

随着时间的推移,人工智能的进步使机器变得更加智能,以至于它们学会了利用自己的训练和知识做出基于逻辑的决策,而几乎不需要人工干预。 因此,它不仅对重复性的体力工作构成威胁,甚至对那些需要学习和决策的工作也构成威胁。

其中一项工作是内容营销人员或作家,他们投入逻辑思维、创造力和研究来为读者创造相关的内容(文本)。 但似乎,随着 Generative Pre-Trained Transformer Version 3 (GPT-3) 和其他自动化内容编写技术的出现,AI 可以以更快的速度生成类似人类的文本。 因此,内容营销人员了解 GPT-3 内容生成器将如何影响内容营销和搜索引擎优化 (SEO) 的未来至关重要。

围绕 GPT-3 的议论
如果您专业从事内容营销、数字营销机构、作家或 SEO 专家,那么您现在一定已经听说过 GPT-3 文案写作的嗡嗡声。 在讨论它对 SEO 和内容营销的影响之前,让我们从技术上了解一下 GPT-3 内容生成器。

GPT-3 由总部位于旧金山的人工智能研究实验室 OpenAI 推出,是一种可以通过处理示例进行学习的深度神经网络。 它可用作自然语言处理 (NLP) 系统的自回归语言模型。 简单来说,GPT-3 是一种基于 AI 的预训练语言模型,可以自动生成文本。 这不是同类中的第一个,因为我们已经有了微软的语言模型、Turing NLG、NVIDIA 的 Megatron 和 GPT-2(GPT-3 的直接前身)。

但为什么 GPT-3 SEO 会产生如此大的炒作? 这是因为 GPT-3 文案自动编写的内容质量非常高,很难将其与真实作者编写的文本区分开来。

人类与 GPT-3 写作对比
2020 年 8 月,VWO 对 GPT-3 生成的文本与人工编写的文本进行了 A/B 测试。 450 个品牌中共有 18 个入围品牌参与,并使用 GPT-3 API 生成各种语言的副本以供测试。 根据 VWO,参与者对 AI 编写的内容所提供的语言准确性非常满意。

在几秒钟内,GPT-3 内容生成器就可以像人类一样写出令人信服的内容。 它可以写任何主题、任何风格或任何语气。 以下是用户发布的 GPT-3 生成内容示例。

想象一下,一位作家为了获得某个学科或主题的知识而投入研究的时间; 与他竞争的是 GPT-3 SEO 编写的自动化内容。 它经过海量千兆字节的文本数据训练,实时拥有整个互联网的集体智慧。

与其他语言模型相比,GPT-3 内容生成器如此特别的原因在于其 1750 亿个参数的容量。

GPT-3 能够进行称为“元学习”的事情,这使其成为与任务无关的模型。 因此,它可以在不同平台上执行多项 NLP 任务,无需或只需极少的微调(额外训练)。

Gmail 完成你的电子邮件句子,这也是人工智能,但它是“狭义人工智能”,这意味着它只接受特定任务的训练,不会处理其他任何事情。 Siri、Alexa 和 Cortana 都由狭义人工智能提供支持。

但作为一个任务不可知论者,GPT-3 内容生成器可以展示通用智能的一些特性。 因此,即使没有对特定任务进行手动工程,它也可以在一系列自然语言处理任务中实现类似人类的效率和准确性,例如语言翻译、文本分类、情感提取、新闻文章生成、撰写博客、创建社交媒体帖子、 生成推文、释义、创建博客主题、问答系统和角色对话。 它甚至可以生成 HTML 代码。 GPT-3 的写作速度是人类作家的 500 倍,它对语法和拼写的掌握无可挑剔。 它产生出色的语法并具有广泛的词汇量。

GPT 3:它对 SEO 和内容营销的影响
GPT-3 内容生成器可以自动生成文本,但这对内容营销意味着什么? 这是否意味着从 SEO 的角度来看,内容营销专业人士将能够通过 GPT-3 自动化内容节省资金? 这是否意味着内容作者的工作将会过时? 那么搜索引擎算法呢? 他们会接受 GPT-3 内容,还是会被列为黑帽 SEO?

GPT-3 文案不能取代注重质量和读者参与度的内容,因为 GPT-3 也有局限性,即它不能像人脑一样思考或变得有创造力。 它通过消化庞大的语言内容数据库进行学习,然后利用其通过评估先前单词来预测下一个单词的能力来编写新的合成内容。 因此,它可能会创建与主题相关的内容,但有时它可能完全没有头脑。

GPT-3 可以淘汰低质量或低成本的内容工厂
GPT-3 内容可以胜过内容工厂出售的低成本和低质量的内容,这些内容可读性强,但无法提高社交媒体份额或吸引反向链接。 在创建低层文章时,GPT-3 内容会更可靠,因为它可以更好地包含来自可靠来源的特定主题信息。 GPT-3 内容生成器在未来将继续变得更加实惠,当这种情况发生时,它将迫使内容工厂倒闭。

GPT-3 擅长创建短期内容,是改写、主题优化、摘要等目的的智能工具。但对于长篇事实内容,它就迷失了方向。

GPT-3 内容会排名吗?
使用 GPT-3 SEO 工具,SEO 从业者可以通过投入更少的时间和金钱来访问大量的博客和文章。 但他们能否将这些自动化内容片段用于 SEO 实践,或者像谷歌这样的搜索引擎会更新他们的算法来检测 AI 生成的内容并对其进行惩罚?

由于其能够创建大量博客点,GPT-3 SEO 面临成为黑帽 SEO 策略的诱人工具的风险,这反过来可能导致前所未有的互联网垃圾邮件。

谷歌作为搜索引擎的成功在于其将用户与有用内容联系起来的能力,而且它不会在这一点上妥协。 谷歌声称,对于其算法,对内容进行排名的唯一标准是它为用户增加了多少实际价值。 不管是人工智能编写的还是人工编写的; 如果内容用陈旧和重复的信息向互联网发送垃圾邮件,它就不会获得排名。

GPT-3:内容营销人员如何从中受益?
注重质量的内容营销人员不会在这里用黑帽 SEO 或低质量文章向互联网发送垃圾邮件。 他们已经避免了此类内容,并专注于能够:

与读者联系
提高品牌知名度
增加网站和登陆页面的自然流量
促进潜在客户的产生和转化
在社交媒体上分享
吸引更多观众
GPT-3 文案可以帮助内容营销人员实现这些目标吗? GPT-3 内容生成器可能并不总是能够编写概念上原创的、高质量的、合乎逻辑的和更长的内容,至少在这个时间点上是这样。 但它的 AI 可以提供很多功能,可以通过增强作家的构思能力来增强作家的潜力。 例如,它可以通过为标题、产品描述、CTA 按钮等生成建议来支持作者的构思。

内容写作本身就是一个艰难的过程。 这不仅仅是写一些语法正确的句子。 专业作家需要弄清楚要写什么,如何使它更具吸引力,如何使其以解决方案为导向或流行等等。 但是相当多的时间花在了重新措辞、主题优化、编写 SEO 元描述、谷歌广告文案脚注、作者描述、产品描述等任务上。

GPT-3 SEO 工具可以自动化这些类型的写作,以方便作者,并让他或她有更多时间专注于需要人类创造力、勤奋、研究和准备的写作方面。

例如,Peppertype.ai 是一种基于 GPT-3 的内容创建工具,旨在使创作者的构思过程相对容易一些。 使用该平台,作家或内容营销人员可以在几秒钟内获得 AI 制作的简短内容片段,例如社交媒体帖子标题、推文、电子商务产品描述、SEO 元描述、Facebook 广告、博客创意、时事通讯、播客 和营销理念。 只需一次输入,它就可以建议 15 个备选博客创意或推文创意。 因此,作为 GPT-3 工具的 pepper.ai 对内容开发人员来说是一个很大的推动力,因为它可以帮助他们节省时间,做更有意义的工作,并提出更好的文章。

关键要点
GPT-3(Generative Pre-trained Transformer)是一种使用深度学习生成文本的语言模型。
GPT-3 内容生成器由 Elon Musk 的 Open AI 于 2020 年 6 月创建。
Peppertype.ai 等许多工具都使用 GPT-3 SEO 集成功能来生成内容。
GPT-3 内容生成器可以在不同平台上执行多个 NLP 任务,无需或只需极少的微调(额外训练)。
GPT-3 内容生成器可以胜过低质量机构生成的低质量、关键字填充的内容。
GPT-3 文案写作也是可能的,因为它生成的文本几乎与人类编写的文本相似。 它使用培训分析,因此可以提供有关用户的信息以生成内容。
GPT-3 内容生成器或任何 AI 生成的内容最适合创建小标题、CTA、标题等。 GPT-3 还不能用来创建高质量的长篇内容。
GPT-3 内容或任何人工智能生成的内容无法与人类书面内容竞争,因为有时它没有意义。
GPT-3 将为 SEO 和数字营销人员提供一个新的搜索引擎市场,具有强大的 NLP。
Google 根据内容的相关性对内容进行排名。 因此,由 GPT-3 SEO 串在一起的一堆词不会像有意义的内容那样排名。
GPT-3 内容生成器将改变未来数字营销的面貌。
GPT-3 文案写作不会完全取代人类作家。 这会帮助他们。

最后的话
GPT-3 内容生成器是在推出其前身 GPT-2 一年后推出的。 仅在一年内,其制造商就将其容量从 15 亿个参数更新为高达 1750 亿个参数。 这就是 GPT 语言模型快速发展的方式。

未来,这些模型将变得更加复杂,并将开发出更像人类的 NLP 能力。 随着演变的每个阶段,它将继续影响内容营销和实践它的人。 保持领先地位的唯一方法是根据 GPT 和其他此类技术带来的变化进行调整和发展。 如果内容营销人员学习如何释放其潜力,该工具可以成为对内容营销人员的强大、增强的支持。

常见问题

谁可以使用 GPT-3?
Elon Musk 的 Open AI 于 2020 年 6 月发布了 GPT-3 内容生成器。它已经发布了有限的 beta 容量。 开发人员在候补名单上注册以使用其功能。 世界各地的许多开发人员已经认识到 GPT-3 文案的潜力,候补名单已被淘汰。 Open AI 于 2021 年 11 月宣布将立即提供给开发者使用。 但是,有一些条件。 只有某些国家可以使用它。 来自古巴、伊朗和俄罗斯的开发人员将无法使用这种完全集成的 GPT-3 SEO 的功能。

GPT-3有什么用?
GPT-3 内容生成器,顾名思义,用于生成逼真的自动化内容,就像真人制作的那样。 诚然,创造力无法喂给机器。 但是,通过用户培训分析,GPT-3 SEO 结合了搜索引擎优化。 有关目标受众的信息被输入其中,以生成近乎完美的副本。 它已经产生了文章、诗歌、新闻报道、故事、对话等等。

训练GPT-3需要多长时间?
大型机器学习模型,如训练 GPT-3 内容生成器所需的模型,需要巨大的计算能力(数百 exaflops)并减少内存占用。 这些模型包含大型嵌入表。 单个 GPU 是不够的。 如果他们的任务是运行像 BERT 或 GPT-3 这样的数十亿参数语言模型,它就会崩溃。 模型并行技术用于跨多个 GPU 拆分参数。 然而,它们非常昂贵、难以使用且难以扩展。 使用 8 个 V100 GPU 训练 1750 亿个参数的 GPT-3 内容生成器需要 36 年。

GPT-3训练了哪些数据?
GPT-3 SEO 拥有 1750 亿个参数,是最大的内容生成器语言学习模型。 它使用来自不同数据集的 45TB 文本数据进行训练。 模型本身没有信息。 它不是为存储事实而设计的。 GPT-3 内容生成器的唯一目的是预测下一个单词或句子序列。

GPT-2 和 GPT-3 有什么区别?
GPT-2 内容生成器无法生成音乐和广泛的故事。 GPT-3 可能是迄今为止最大的语言学习模型。 GPT-3 SEO 非常擅长生成讲故事的内容。 它还可以总结文本、翻译语言、生成计算机代码、撰写论文、回答问题等等。 但是,GPT-3 只擅长预测下一个句子序列。 它不能存储信息。

作者 east
Hive 1月 24,2023

数仓开发常用hive命令

在做数仓开发或指标开发时,是一个系统工程,要处理的问题非常多,经常使用到下面这些hive命令:

内部表转外部表

alter table ${tablename} set tblproperties (‘EXTERNAL’=True’);

外部表转内部表

alter table ${tablename} set tblproperties (‘EXTERNAL’=False’);

显示分区

show partitions ${tablename};

创建分区

alter table ${tablename} add if not exists partition(dt=’2022-11-08′)

删除分区

alter table ${tablename} drop partition(dt=’2022-11-21′)

修改分区

alter table ${tablename} partition(dt=’2022-11-08′) rename to partition(dt=’2022-11-21′)

获取table详细描述信息、存储格式等

desc formatted ${tablename}

修改hive表路径

alter table ${tablename} set location ‘${warehouse.dir}’

hive加载本地数据到分区表

load data local inpath ‘/tmp/test.txt’ into table ${tablename} partition (dt=’2022-11-08′);

加载本地目录的数据到分区表

load data inpath ‘/tmp’  into table ${tablename}  partition (dt=’2022-11-08′);

排他锁解锁

set hive.support.concurrency=true;  

set hive.txn.manager = org.apache.hadoop.hive.ql.lockmgr.DummyTxnManager;

设置session具有Admin权限

set role admin;

授予所有权限给某个用户

grant all on ${dbName} to user {userName};

查看指定用户在所有库下面的权限

show grant user {userName};

查看指定用户在某个库的权限

show grant user {userName} on database {dbName};

 授予某个库的权限给某个用户

grant select on database {dbName} to user {userName};

grant insert on database {dbName} to user {userName};

grant update on database {dbName} to user {userName};

grant delete on database {dbName} to user {userName};

Hive赋予用户某表权限

grant create on database {dbName} to user {userName};

grant select on table 库名.表名 to user 用户名 ;

grant insert on table {dbName}.tableName to user {userName};

grant update on table {dbName}.tableName to user {userName};

grant delete on table {dbName}.tableName to user {userName};

作者 east
Spark 1月 23,2023

数仓的生命周期管理策略和ETL命令

 在做数仓开发过程中,遇到一个问题就是随着数据量增大,存储空间增加惊人:hdfs的文件要存3份(可以修改副本份数),ods、dwd、dws、ads等各层都需要存储空间,指标计算过程如果内存不够又会缓冲在硬盘。而更严重的问题是:如果CDH依赖某个目录的存储空间严重不够,就会导致Yarn的任务执行失败。

   所以对数仓的生命周期管理尤为重要。数仓的生命周期管理的核心目的就是用最少的存储成本来满足最大的业务需求,使数据价值最大化。

对数仓的历史数据可以分为P0、P1、P2、P3这4个不同优先级,其具体定义如下。

• P0:非常重要的主题域数据和非常重要的应用数据,具有不可恢复性,如交易、基础信息表、集团KPI数据、IPO关联表。

• P1 :重要的业务数据和重要的应用数据,具有不可恢复性,如重要的业务产品数据。

• P2:重要的业务数据和重要的应用数据,具有可恢复性,如交易线ETL产生的中间过程数据。

• P3:不重要的业务数据和不重要的应用数据,具有可恢复性,如某些商品的报表。

对数据P0、P1、P2、P3这4个级别的数据,生命周期要根据具体情况。例如在有的公司,关系型数据库保存有数仓原始全部数据,又对服务器的成本敏感性,对恢复数据

层级类型P0P1P3P4
ODS层各类型数据永久永久永久永久
DWD事实表(增量表)永久3年365天180天
维表(全量表)保留近30天及每月月底数据保留近30天及每月月底数据保留近30天及每月月底数据保留近30天及每月月底数据
Merge全量表保留近30天及每月月底数据保留近30天及每月月底数据保留近30天及每月月底数据保留近30天及每月月底数据
DWS层各类型数据永久3年3年3年
DWM层各类型数据保留近30天及每月月底数据保留近30天及每月月底数据保留近30天及每月月底数据保留近30天及每月月底数据
APP层各类型数据永久–––

由于数仓通常是带有时间的分区表。要进行数仓表数据进行生命周期管理,首先是清楚目前数仓各张表占的存储空间的情况。

查看存储空间的命令:

hadoop fs -du -s -h ${warehouse.dir}/*

如果hive外部表

使用drop table来删除表或用drop partition等命令删除表的分区,其实数据还是存在。要彻底删除数据,有2种方法:

(1)通过删除文件方式

删除文件命令:

hdfs dfs -rmdir -f ${warehouse.dir}

删除目录命令:

hdfs dfs -rm -r -f ${warehouse.dir}/*

  • 变为内部表再删除

alter table  ${table_name) set tblproperties (‘EXTERNAL’=’False’);

如果是hive内部表

删除分区

alter table ${tablename} drop partition(dt<=’2023-01-21′)

在CDH的默认配置中,删除的文件是放在垃圾站,通常是需要24小时后删除的文件才释放空间。如果需要立即释放空间,可以用下面清空hdfs垃圾站的命令:

hdfs dfs -expunge

作者 east
Hive, Spark 1月 19,2023

Spark SQL或Hive开发调试小技巧

  • 在本地开发机装本地模拟环境,或者能远程调试,可以参考Spark如何在生产环境调试
  • 输出dataframe日志,最好有一个开关来控制,正式上线时,把开关关了来提升速度
if (isDebug) {
dataframeDF.show(10)
}
  • dataframe的输出,有时看得不是很清楚,可以生成临时表来记录中间过程,方便对中间过程进行查看 insertHive(resultDF, “dataframe_temp”)
  • 如果是运行的数据比较大,调试起来要等,可以对dataframe进行限定条数或筛选 dataframe.limit(1000) dataframe.filter(” id = ‘ewgwgs’ “)
  • 对复杂的sql,一步到位写起来爽,出问题了不知是哪一步出问题,可以分解出几个简单sql,每一步都有输出,对照结果方便找出问题。
  • 对复杂计算的,写的代码觉得似是而非,可以先整理一个样例,手动写计算过程,然后用代码对照这些过程来一步步实现。

作者 east
大数据开发 1月 18,2023

解决yarn无法查看历史日志Logs not available for container_xxx. Aggregation may not be complete

由于 NodeManager 有异常,一时找不到原因,就重新删除再添加。没想到新的问题产生了。在yarn看不到历史日志,页面提示“Aggregation may not be complete, Check back later or try the nodemanager at xxxx”。

这对开发或运维spark、hive程序来说,是非常抓狂的。看不到日志,就不知道问题出在哪里。

网上绝大多数的解决方案是看
yarn.log-aggregation-enable 是否开启

yarn.log-aggregation-enable属性意思是: 是否启用日志聚合
我直接通过Yarn的WebUi查看,发现
默认就是勾选的,为true

在CDH,找到yarn的配置,搜索
yarn.log-aggregation-enable ,如下图所示就是开启的:

在这里插入图片描述

我查了集群,这个是开启了,重启了yarn后,又重新运行一个spark程序,跑完程序后再查看历史日志,问题依旧。

后来又查到另一个关键的相关配置:
yarn.nodemanager.remote-app-log-dir

yarn.nodemanager.remote-app-log-dir参数的意思是:应用程序结束时存储应用程序日志的 HDFS 目录。 

在CDH查看了
yarn.nodemanager.remote-app-log-dir 的路径如下

查看了一下,没看到/opt/logs,又查到相关日志报错如下:

ERROR org.apache.hadoop.yarn.logaggregation.AggregatedLogDeletionService: Error reading root log dir this deletion attempt is being aborted
java.io.FileNotFoundException: File /opt/logs does not exist.
	at org.apache.hadoop.hdfs.DistributedFileSystem.listStatusInternal(DistributedFileSystem.java:986)
	at org.apache.hadoop.hdfs.DistributedFileSystem.access$1000(DistributedFileSystem.java:122)
	at org.apache.hadoop.hdfs.DistributedFileSystem$24.doCall(DistributedFileSystem.java:1046)
	at org.apache.hadoop.hdfs.DistributedFileSystem$24.doCall(DistributedFileSystem.java:1043)
	at org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81)
	at org.apache.hadoop.hdfs.DistributedFileSystem.listStatus(DistributedFileSystem.java:1053)
	at org.apache.hadoop.yarn.logaggregation.AggregatedLogDeletionService$LogDeletionTask.run(AggregatedLogDeletionService.java:82)
	at java.util.TimerThread.mainLoop(Timer.java:555)
	at java.util.TimerThread.run(Timer.java:505)

原因就很清楚,没有那个目录,应该创建那个目录,并赋予相应的权限。

通过CDH进入YARN服务界面,然后选择【创建NodeManager远程应用程序日志目录】。

进行上面的操作后终于问题解决了。

作者 east
程序员网赚 1月 14,2023

程序员怎样用网络赚钱

为一名程序员,你有许多方法可以利用网络赚钱。以下是一些选择:

  • 开发软件:你可以开发自己的软件或应用程序,然后通过在应用商店或者网站上销售它们赚钱。
  • 工作为远程员工:你可以在网上搜索远程工作机会,或者通过网络平台(如Upwork、Freelancer等)找到客户。你可以通过在线编程、网站开发、网络安全等领域工作赚钱。
  • 开发网站:你可以开发网站,然后通过广告收入、商品销售等方式赚钱。
  • 进行在线培训:如果你擅长某个领域的知识或技能,你可以考虑在线培训。你可以通过视频教程、博客文章、在线课程等方式提供培训。
  • 开展在线服务:你可以通过在线服务赚钱。例如,你可以提供在线编程帮助、网站优化服务、在线咨询服务等。
  • 开发游戏:如果你喜欢游戏开发,你可以开发自己的游戏,然后通过在游戏平台上销售或者广告收入赚钱。
作者 east
Spark 1月 14,2023

spark sql如何提升性能

在使用 Spark SQL 时,有几种常见的方法可以提升性能:

  • 使用适当的数据结构:Spark SQL 支持多种数据结构,例如 Parquet、Avro、ORC 等。使用适当的数据结构可以提高查询速度和减少存储空间。
  • 分区:将数据按照一定规则分区,可以提升性能。
  • 缓存数据:使用 Spark SQL 的缓存功能可以将数据集的副本存储在内存中,从而提升性能。
  • 使用常量:对于经常使用的常量值,使用常量代替查询中的变量可以提升性能。
  • 使用索引:对大型数据集使用索引可以提升性能。
  • 优化查询计划:使用 EXPLAIN 命令可以查看查询计划,并使用优化器选项对查询进行优化。
  • 并行计算:调整 Spark 的并行度,可以提升性能。
  • 适当使用 UDF:使用 UDF 可以扩展 Spark SQL 的功能,但是过多使用 UDF 会导致性能下降。
作者 east
运维 1月 9,2023

sqlserver 自定义函数或存储过程转 postgresql

nvarchar要修改为varchar

postgresql的body需要$$ …. $$包含起来

postgresql 只需要一对BEGIN END,条件和while循环不需要BEGIN和END

变量需要去掉@, @b -> b;

没有isnull 用 coalesce

字符串拼接用 ||

字符串类型和int类型不会自动转换(用作条件时)

没有charindex,用strpos (原字符串,需要查找的)

没有getdate() 用 LOCALTIMESTAMP(0) 代替 参数指秒以下取几位

SET @len=@len+1要修改为 len = len + 1

break修改为exit

CHAR(10) 类型要改为CHR(10)

postgresql的条件和循环 不需要BEGIN和END 嵌套, 条件和循环的语法也和sqlserver有所不同:

 
1、条件
IF ... THEN ... END IF
IF ... THEN ... ELSE ... END IF
IF ... THEN ... ELSIF ... THEN ... ELSE ... END IF

CASE ... WHEN ... THEN ... ELSE ... END CASE
CASE WHEN ... THEN ... ELSE ... END CASE
 
2、循环
LOOP
[<>]
LOOP
...
IF ... THEN
CONTINUE [label] [WHEN boolean-expression];
END IF;
EXIT [label] [WHEN boolean-expression];
END LOOP [label];


WHILE
[<>]
WHILE boolean-expression LOOP
...
END LOOP [label];


FOR
[<>]
FOR name IN [REVERSE] expression .. expression [BY expression] LOOP
...
END LOOP [label];
作者 east
运维 1月 7,2023

windows安装使用PostgreSQL

最近一个项目要用到pgsql的自定义函数,在windows上安装一个。

下载的是12的版本,
https://get.enterprisedb.com/postgresql/postgresql-12.13-1-windows-x64.exe

刚开始安装后出现问题,看到是杀毒软件影响到了。关闭杀毒软件,重新卸载安装。

为了使用方便,把pg库的bin目录添加到环境变量。

由于是开发,为了使用方便,

修改pg库data目录的pg_hba.conf,把md5修改为trust

host all all 127.0.0.1/32 trust

host all all ::1/128 trust

host replication all 127.0.0.1/32 trust
host replication all ::1/128 trust

启动服务器:

在命令行启动

pg_ctl.exe reload -N “postgres_12” -D “D:\Program Files\PostgreSQL\12\data”

psql -h 127.0.0.1 -U postgres

作者 east
shardingsphere, 大数据开发 11月 6,2022

DataX、Sqoop抽取Sharding-Proxy数据遇到问题和解决方案

公司有几十T的数据库数据,采用sharding-proxy来分库分表存取。采用sharding-proxy,可以让客户端像普通单库一样调用,但用datax、sqoop抽取数据却发现那么简单。

原先是用 sharding-proxy 4.1.0 版本,springboot采用druid来读取数据或用navicat高版本来读没问题,所以一直没有升级。

不幸的是,用sqoop 1.4.7来抽取数据时,发生报错“Failed to switch schema, please terminate current transaction”。网上相关的资料很少,后来查到是 sharding-proxy 报的错,在github讨论区有说这个问题,
https://github.com/apache/shardingsphere/issues/5531

刚开始以为是sqoop读取表结构时遇到的问题,改用dataX来抽取数据,还是同样的问题。后来升级 sharding-proxy 到最新版本,终于没报这个问题,但用sqoop抽取时,由于sqoop 1.4.7要先读取mysql的表结构,但是获取
sharding-proxy 的表结构发生错误,这个可以通过修改sqoop代码或别的方式来避开这个问题。

但DataX抽取数据时没这个问题,能很顺利抽取到
sharding-proxy 上面的数据。

作者 east
Hive 11月 3,2022

解决CDH 6.3.2 Hue访问Hive自定义用户密码验证

在前面文章介绍了
CDH 6.3.2 Hive自定义用户名密码验证 ,如果hue配置不做更改的话,在hue中看不到hive的数据库和执行不了命令,hue会报“thrift TSocket read 0 bytes” 、“
 Bad status: 3 (Error validating the login) (code THRIFTTRANSPORT) ”等错误。

解决方法:

(1)修改hue的python代码

cd /opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/lib/hue/apps/beeswax/src/beeswax/server
vi hive_server2_lib.py
增加红框中的’CUSTOM’

(2)修改hue的配置
在hue的配置页面,搜索”hue_safety_valve” ,找到hue_safety_valve.ini
添加下面代码:(
auth_username 是在hive的hive-site.xml中配置的,不同的是hive-site的
auth_password 是工具处理后,hue这里的配置需要处理前的原始密码)

[desktop]

auth_username=hdfs
auth_password=未加密前的密码



然后重启hue

作者 east
Hive 11月 3,2022

CDH 6.3.2 Hive自定义用户名密码验证

为了增强hive的安全性,可以自定义用户名密码验证。

首先写成相应的工具类

import javax.security.sasl.AuthenticationException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hive.conf.HiveConf;
import org.slf4j.Logger;
public class CustomPasswdAuthenticator implements org.apache.hive.service.auth.PasswdAuthenticationProvider{
    private Logger LOG = org.slf4j.LoggerFactory.getLogger(CustomPasswdAuthenticator.class);
    private static final String HIVE_JDBC_PASSWD_AUTH_PREFIX="hive.jdbc_passwd.auth.%s";
    private Configuration conf=null;
    @Override
    public void Authenticate(String userName, String passwd)  
              throws AuthenticationException {  
            LOG.info("user: "+userName+" try login.");  
            String passwdConf = getConf().get(String.format(HIVE_JDBC_PASSWD_AUTH_PREFIX, userName));  
            if(passwdConf==null){  
              String message = "user's ACL configration is not found. user:"+userName;  
              LOG.info(message);  
              throw new AuthenticationException(message);  
            }   
            if(!passwd.equals(passwdConf)){  
              String message = "user name and password is mismatch. user:"+userName;  
              throw new AuthenticationException(message);  
            }  
          }  
          public Configuration getConf() {  
            if(conf==null){  
              this.conf=new Configuration(new HiveConf());  
            }  
            return conf;  
          }  
          public void setConf(Configuration conf) {  
            this.conf=conf;  
          }
}

把这个工具类打包成jar包放在hive根目录的lib目录下,
/opt/cloudera/parcels/CDH/lib/hive/lib/hiveAuth.jar


HDFS修改core-site.xml配置

搜索 core-site.xml

core-site.xml 的群集范围高级配置代码段(安全阀)

<property>   
<name>hadoop.proxyuser.hadoop.hosts</name>
<value>*</value> </property>
<property>
<name>hadoop.proxyuser.hadoop.groups</name>
<value>*</value>
</property>





Hive修改hive-site.xml配置

<property>
<name>hive.security.authorization.enabled</name>
<value>true</value>
</property>
<property>
<name>hive.security.authorization.createtable.owner.grants</name>
<value>ALL</value>
</property>
<property>
<name>hive.security.authorization.task.factory</name>
<value>org.apache.hadoop.hive.ql.parse.authorization.HiveAuthorizationTaskFactoryImpl</value>
</property>
<property>
<name>hive.users.in.admin.role</name>
<value>hdfs</value>
</property>
<property>
<name>hive.server2.authentication</name>
<value>CUSTOM</value>
</property>
<property>
<name>hive.server2.custom.authentication.class</name>
<value>org.apache.hadoop.hive.contrib.auth.CustomPasswdAuthenticator </value>
</property>

<property>
<name>hive.jdbc_passwd.auth.hdfs</name>
<value>2ad4fed18d94500baa7dcf70fd7b1ecf</value>
</property>

重启hadoop和hive

作者 east

上一 1 … 47 48 49 … 93 下一个

关注公众号“大模型全栈程序员”回复“小程序”获取1000个小程序打包源码。回复”chatgpt”获取免注册可用chatgpt。回复“大数据”获取多本大数据电子书

标签

AIGC AI创作 bert chatgpt github GPT-3 gpt3 GTP-3 hive mysql O2O tensorflow UI控件 不含后台 交流 共享经济 出行 图像 地图定位 外卖 多媒体 娱乐 小程序 布局 带后台完整项目 开源项目 搜索 支付 效率 教育 日历 机器学习 深度学习 物流 用户系统 电商 画图 画布(canvas) 社交 签到 联网 读书 资讯 阅读 预订

官方QQ群

小程序开发群:74052405

大数据开发群: 952493060

近期文章

  • 解决gitlab配置Webhooks,提示 Invalid url given的问题
  • 如何在Chrome中设置启动时自动打开多个默认网页
  • spark内存溢出怎样区分是软件还是代码原因
  • MQTT完全解析和实践
  • 解决运行Selenium报错:self.driver = webdriver.Chrome(service=service) TypeError: __init__() got an unexpected keyword argument ‘service’
  • python 3.6使用mysql-connector-python报错:SyntaxError: future feature annotations is not defined
  • 详解Python当中的pip常用命令
  • AUTOSAR如何在多个供应商交付的配置中避免ARXML不兼容?
  • C++thread pool(线程池)设计应关注哪些扩展性问题?
  • 各类MCAL(Microcontroller Abstraction Layer)如何与AUTOSAR工具链解耦?

文章归档

  • 2025年10月
  • 2025年8月
  • 2025年7月
  • 2025年6月
  • 2025年5月
  • 2025年4月
  • 2025年3月
  • 2025年2月
  • 2025年1月
  • 2024年12月
  • 2024年11月
  • 2024年10月
  • 2024年9月
  • 2024年8月
  • 2024年7月
  • 2024年6月
  • 2024年5月
  • 2024年4月
  • 2024年3月
  • 2023年11月
  • 2023年10月
  • 2023年9月
  • 2023年8月
  • 2023年7月
  • 2023年6月
  • 2023年5月
  • 2023年4月
  • 2023年3月
  • 2023年1月
  • 2022年11月
  • 2022年10月
  • 2022年9月
  • 2022年8月
  • 2022年7月
  • 2022年6月
  • 2022年5月
  • 2022年4月
  • 2022年3月
  • 2022年2月
  • 2022年1月
  • 2021年12月
  • 2021年11月
  • 2021年9月
  • 2021年8月
  • 2021年7月
  • 2021年6月
  • 2021年5月
  • 2021年4月
  • 2021年3月
  • 2021年2月
  • 2021年1月
  • 2020年12月
  • 2020年11月
  • 2020年10月
  • 2020年9月
  • 2020年8月
  • 2020年7月
  • 2020年6月
  • 2020年5月
  • 2020年4月
  • 2020年3月
  • 2020年2月
  • 2020年1月
  • 2019年7月
  • 2019年6月
  • 2019年5月
  • 2019年4月
  • 2019年3月
  • 2019年2月
  • 2019年1月
  • 2018年12月
  • 2018年7月
  • 2018年6月

分类目录

  • Android (73)
  • bug清单 (79)
  • C++ (34)
  • Fuchsia (15)
  • php (4)
  • python (45)
  • sklearn (1)
  • 云计算 (20)
  • 人工智能 (61)
    • chatgpt (21)
      • 提示词 (6)
    • Keras (1)
    • Tensorflow (3)
    • 大模型 (1)
    • 智能体 (4)
    • 深度学习 (14)
  • 储能 (44)
  • 前端 (5)
  • 大数据开发 (494)
    • CDH (6)
    • datax (4)
    • doris (31)
    • Elasticsearch (15)
    • Flink (79)
    • flume (7)
    • Hadoop (19)
    • Hbase (23)
    • Hive (41)
    • Impala (2)
    • Java (71)
    • Kafka (10)
    • neo4j (5)
    • shardingsphere (6)
    • solr (5)
    • Spark (100)
    • spring (11)
    • 数据仓库 (9)
    • 数据挖掘 (7)
    • 海豚调度器 (10)
    • 运维 (36)
      • Docker (3)
  • 小游戏代码 (1)
  • 小程序代码 (139)
    • O2O (16)
    • UI控件 (5)
    • 互联网类 (23)
    • 企业类 (6)
    • 地图定位 (9)
    • 多媒体 (6)
    • 工具类 (25)
    • 电商类 (22)
    • 社交 (7)
    • 行业软件 (7)
    • 资讯读书 (11)
  • 嵌入式 (71)
    • autosar (63)
    • RTOS (1)
    • 总线 (1)
  • 开发博客 (16)
    • Harmony (9)
  • 技术架构 (6)
  • 数据库 (32)
    • mongodb (1)
    • mysql (13)
    • pgsql (2)
    • redis (1)
    • tdengine (4)
  • 未分类 (8)
  • 程序员网赚 (20)
    • 广告联盟 (3)
    • 私域流量 (5)
    • 自媒体 (5)
  • 量化投资 (4)
  • 面试 (14)

功能

  • 登录
  • 文章RSS
  • 评论RSS
  • WordPress.org

All Rights Reserved by Gitweixin.本站收集网友上传代码, 如有侵犯版权,请发邮件联系yiyuyos@gmail.com删除.