假设有一个Hadoop集群有20台机器.在这20台机器中,18台机器是从机,机器19用于NameNode,机器20用于JobTracker.
现在我知道必须在所有这20台机器上安装hadoop软件.
但我的问题是将文件xyz.txt加载到Hadoop集群中涉及哪台机器.该客户机是否是一台单独的机器.我们是否也需要在该clinet机器中安装Hadoop软件.客户端机器如何识别Hadoop集群?
Hive 1.1版
我有一个蜂巢外部表如下
CREATE EXTERNAL TABLE `schedule_events`(
`schedule_id` string COMMENT 'from deserializer',
`service_key` string COMMENT 'from deserializer',
`event_start_date_time` string COMMENT 'from deserializer',
`event_id` string COMMENT 'from deserializer',
`event_type` string COMMENT 'from deserializer',
`transitional_key` string COMMENT 'from deserializer',
`created_date_time` string COMMENT 'from deserializer',
`bus_date` string COMMENT 'from deserializer')
PARTITIONED BY (
`year` string,
`month` string,
`day` string)
ROW FORMAT SERDE
'org.apache.hadoop.hive.serde2.avro.AvroSerDe'
STORED AS INPUTFORMAT
'org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat'
OUTPUTFORMAT
'org.apache.hadoop.hive.ql.io.avro.AvroContainerOutputFormat'
LOCATION
'hdfs://nameservice1/hadoop/raw/omega/scheduled_events'
TBLPROPERTIES (
'avro.schema.url'='hdfs:////hadoop/raw/omega/schema/schedule_events.avsc',
'transient_lastDdlTime'='1505742141')
Run Code Online (Sandbox Code Playgroud)
现在要删除一个特定的分区,我可以运行ALTER命令,如下所示
ALTER TABLE schedule_events DROP IF EXISTS PARTITION …
Run Code Online (Sandbox Code Playgroud) 我在List上有一个基本问题
当我尝试使用cons运算符创建List时,我收到以下错误
scala> val someList = 1::2
<console>:10: error: value :: is not a member of Int
val someList = 1::2
^
Run Code Online (Sandbox Code Playgroud)
但是如果你看下面的话,一旦我添加了Nil,它就会起作用..
scala> val someList = 1::2::Nil
someList: List[Int] = List(1, 2)
Run Code Online (Sandbox Code Playgroud)
我想知道为什么在创建列表时至少需要Nil一次
Nil是数据类型吗?还是空元素?
我想获取一周的第一个日期.
我的输入将是像2014年7月26日的字符串类型".
我需要获得上述日期(2014年7月26日)的第一周日期.
我需要MM/dd/YYYY格式的输出日期.
基本上我需要输出为07/21/2014.
请给我java程序.我已经做到了这一点
SimpleDateFormat formatter1 = new SimpleDateFormat("MM/dd/yy");
String date ="07/26/2014";
Date Currentdate = formatter1.parse(date);
int currentday=Currentdate.getDay();
Calendar calendar = Calendar.getInstance();
calendar.setTime(Currentdate);
int startDay=currentday-calendar.getFirstDayOfWeek();
Currentdate.setDate(contacteddate.getDate()-startDay);
System.out.println(contacteddate.getDate());
}
Run Code Online (Sandbox Code Playgroud)
上面的代码只给我一个日期..我需要在"MM/dd/YYYY"中的日期和月份和年份请帮助
我们知道set命令用于设置属性的某些值
hive> SET hive.exec.dynamic.partition=true;
hive> SET hive.exec.dynamic.partition.mode=non-strict;
Run Code Online (Sandbox Code Playgroud)
但是我们如何读取上述属性的当前值
我尝试了以下命令,它不起作用
get hive.exec.dynamic.partition
show hive.exec.dynamic.partition
Run Code Online (Sandbox Code Playgroud)
有人可以帮助获取正确的hive命令来读取上述属性的当前值.
我正在使用蜂巢 1.1
hive> select country from releases limit 1;
OK
["us","ca","fr"]
Run Code Online (Sandbox Code Playgroud)
现在 country 是 hive 中的 string 类型。如何将其转换为 Array[String]?
我试过下面的,但它抛出错误
hive> select country, cast(country as Array[String]) from releases limit 1;
FAILED: ParseException line 1:48 cannot recognize input near 'Array' '[' 'String' in primitive type specification
Run Code Online (Sandbox Code Playgroud)
有人可以帮我做类型转换吗?
我的目的是读取目录中所有以“ trans”开头的文件,并将其转换为单个文件,然后将该单个文件加载到HDFS位置
我的源目录是/ user / cloudera / inputfiles /
假设在上面的目录中,有很多文件,但是我需要所有以“ trans”开头的文件
我的目标目录是/ user / cloudera / transfiles /
所以我在下面尝试了这个命令
hadoop dfs - getmerge /user/cloudera/inputfiles/trans* /user/cloudera/transfiles/records.txt
Run Code Online (Sandbox Code Playgroud)
但以上命令不起作用。
如果我尝试下面的命令,那就可以了
hadoop dfs - getmerge /user/cloudera/inputfiles /user/cloudera/transfiles/records.txt
Run Code Online (Sandbox Code Playgroud)
关于如何合并来自hdfs位置的某些文件并将合并的单个文件存储在另一个hdfs位置的任何建议
从终端终止 spark 作业的命令是什么。我不想通过 spark UI 终止正在运行的 spark 作业
Spark sql 窗口功能似乎无法正常工作。我正在 Hadoop 集群中运行 Spark 作业,其中 HDFS 块大小为 128 MB,Spark 版本 1.5 CDH 5.5
我正在读取 avro 文件并执行以下操作
我的要求:
如果有多条记录具有相同的 data_rfe_id,则根据最大 seq_id 和最大 service_id 取单个记录
我看到在原始数据中有些记录具有相同的 data_rfe_id 和相同的 seq_id 因此,我使用 Window 函数应用 row_number ,以便我可以使用 row_num === 1 过滤记录
我只想使用窗口函数来实现这一点。
为什么会出现这样的情况呢?
在数据框上应用窗口函数之前是否需要重新洗牌?
它仅针对某些任务抛出以下异常,并且在 4 次重复失败的任务后作业失败?
我们什么时候会遇到这种异常。
import org.apache.spark.sql.expressions.Window
import org.apache.spark.sql.functions.rowNumber
.....
scala> df.printSchema
root
|-- transitional_key: string (nullable = true)
|-- seq_id: string (nullable = true)
|-- data_rfe_id: string (nullable = true)
|-- service_id: string (nullable = true)
|-- event_start_date_time: string …
Run Code Online (Sandbox Code Playgroud) 如何检查databricks中是否已经存在
dir = "/mnt/published/omega/omega_output"
if(dbutils.fs.exists(dir)):
print("dir exists")
else:
print("dir does not exists")
Run Code Online (Sandbox Code Playgroud)
这段代码向我抛出错误
'FSHandler' object has no attribute 'exists'
Run Code Online (Sandbox Code Playgroud)