草庐IT

DATE_ADD

全部标签

hadoop - Cloudera CDH4 : Can't add a host to my cluster because canonical name is not consistent with hostname

我正在使用Ubuntu12.04LTS在4节点集群上安装CDH4。我能够安装cloudera管理器并在主机上启动单节点集群。但是,一旦我添加了一个新主机,CM就会说它运行状况不佳并抛出以下错误:“从Java进程检查时,此主机的主机名和规范名称不一致。”我修改了master和所有主机上的/etc/hosts的内容,以包含IP地址,后跟每台机器的FQDN。我是否还需要设置一个DNS服务器才能完成这项工作? 最佳答案 您不一定需要设置DNS服务器才能使其正常工作,但正向和反向DNS必须明确匹配Hadoop才能正常运行。Hadoop操作书有

hadoop - 在 Impala 中将 STRING 转换为 DATE。 (可能的错误)

这似乎是我面临的一个有趣的错误/问题。我正在使用CDH5.8(Hadoop的Cloudera发行版)下的Impala和HUE。执行下面的代码select'1709.02.02'asDateString,CAST((from_unixtime(UNIX_TIMESTAMP('1709.02.02','yyyy.MM.dd')))asTIMESTAMP)asDateTimestamp我得到如下输出(这是预期的)datestringdatetimestamp1709.02.021709-02-0200:00:00但是在执行下面的代码时select'1009.02.02'asDateStrin

date - 如何在 HIVE 中的连续日期之间插入行数据?

示例数据:customertxn_datetagA1-Jan-171A2-Jan-171A4-Jan-171A5-Jan-170B3-Jan-171B5-Jan-170需要填写日期范围(2017年1月1日至2017年1月5日)之间每个缺失的txn_date。就像下面这样:输出应该是:customertxn_datetagA1-Jan-171A2-Jan-171A3-Jan-170(inserted)A4-Jan-171A5-Jan-170B1-Jan-170(inserted)B2-Jan-170(inserted)B3-Jan-171B4-Jan-170(inserted)B5-Ja

sql - 从 current_date 获取星期并在 SQL 中创建一个具有动态名称的表

我每周运行一个特定的查询,创建一个包含所需数据的周表。表名格式如下db_name.subscriptions_wk29--为第29周数据创建的表db_name.subscriptions_wk30--为第30周数据创建的表db_name.subscriptions_wk31--为第31周数据创建的表由于这是一项重复性任务,我想安排此查询,使其在特定一周的每个星期一自动运行以获取前一周的数据。我面临的问题是,我不知道如何在每周运行查询时动态更改表名。因此,当我下次运行查询时,它应该会自动创建一个名为db_name.subscriptions_wk32的表。我可以从weekofyear('

hadoop - Hive "add partition"并发

我们有一个用于处理原始日志文件数据的外部Hive表。这些文件按小时计算,并按日期和源主机名分区。目前,我们正在使用每小时触发几次的简单python脚本导入文件。该脚本根据需要在HDFS上创建子文件夹,从临时本地存储复制新文件并将任何新分区添加到Hive。今天,使用“ALTERTABLE...ADDPARTITION...”创建新分区。但是,如果另一个Hive查询正在该表上运行,它将被锁定,这意味着添加分区命令将失败(如果查询运行时间足够长),因为它需要独占锁。此方法的替代方法是使用“MSCKREPAIRTABLE”,出于某种原因,它不似乎在表上获取任何锁。但是,我的印象是不建议在生产环

jdbc - Hadoop Hive - 如何将 'add jar' 用于 Hive JDBC 客户端?

所以,我让hdfs和hive一起工作。我还有用于Hive运行的jdbc驱动程序,以便我可以进行远程jdbc调用。现在,我添加了一个Hive用户定义函数(UDF)。它在CLI中运行良好……我什至通过.hiverc文件自动加载jar和相关函数。但是,我无法使用配置单元jdbc驱动程序让它工作。我以为它也会使用.hiverc文件(默认情况下,位于/usr/lib/hive/bin/),但它似乎不起作用。我还尝试通过“添加jar”SQL命令添加它作为第一件事,但无论我将jar文件放在哪里,我都会在hive.log中收到错误消息,指出找不到该文件。有人知道怎么做吗?我正在使用ClouderaDi

hadoop - Flume 代理 : add host to message, 然后发布到 kafka 主题

我们开始通过向Kafka主题发布消息来整合应用程序的事件日志数据。虽然我们可以直接从应用程序写入Kafka,但我们选择将其视为一般问题并使用Flume代理。这提供了一些灵active:如果我们想从服务器捕获其他内容,我们可以拖尾不同的来源并发布到不同的Kafka主题。我们创建了一个Flume代理配置文件来跟踪日志并发布到Kafka主题:tier1.sources=source1tier1.channels=channel1tier1.sinks=sink1tier1.sources.source1.type=exectier1.sources.source1.command=tail-

sql - Hive 中的 TRUNC 和 TO_DATE 有什么区别

您好,我想找出在Hive中使用TRUNC和TO_DATE之间的区别。目前在oracle中,我针对下面显示的数据编写了以下案例语句:ORDER_NO|NAME|DATE_|TASK_NOABC123|Humpty|07-OCT-1612:30:54|1ABC123|Humpty|07-OCT-1612:30:54|2ABC123|Humpty|07-OCT-1612:32:20|6SELECTORDER_NO,NAME,DATE_,TASK_NO(CASEWHENDATE_-LAG(DATE_)OVER(PARTITIONBYORDER_NO,NAME,TRUNC(DATE_)ORDER

date - Hive - 来自时间戳列的月份和年份

您好,我正在尝试使用以下查询提取hive中时间戳列的月份和年份部分selectfrom_unixtime(unix_timestamp(upd_gmt_ts,'yyyyMM'))fromabc.test;输出看起来像2016-05-2001:08:48期望的输出应该是201605感谢任何建议。 最佳答案 我更喜欢使用Hivedate_format()(从Hive1.2.0开始)。它支持JavaSimpleDateFormat模式。date_format()接受日期/时间戳/字符串。所以你的最终查询将是selectdate_forma

date - 如何在 Hive 中将时间戳(秒和毫秒之间的点)转换为日期(yyyyMMdd)?

例如,我想将时间戳1490198341.705转换为日期20170323和小时11(GMT+8:00)。有什么函数可以解决这个问题吗? 最佳答案 试试这个:selectdate_format(from_utc_timestamp(1490198341.705,'GMT+8:00'),'yyyyMMddHH:mm:ss'); 关于date-如何在Hive中将时间戳(秒和毫秒之间的点)转换为日期(yyyyMMdd)?,我们在StackOverflow上找到一个类似的问题: