我正在尝试使用oozie做一个简单的工作.
这将是一个简单的猪行动.
我有一个文件:FirstScript.pig包含:
dual = LOAD 'default.dual' USING org.apache.hcatalog.pig.HCatLoader();
store dual into 'dummy_file.txt' using PigStorage();
Run Code Online (Sandbox Code Playgroud)
和一个workflow.xml包含:
<workflow-app name="FirstWorkFlow" xmlns="uri:oozie:workflow:0.2">
<start to="FirstJob"/>
<action name="FirstJob">
<pig>
<job-tracker>hadoop:50300</job-tracker>
<name-node>hdfs://hadoop:8020</name-node>
<script>/FirstScript.pig</script>
</pig>
<ok to="okjob"/>
<error to="errorjob"/>
</action>
<ok name='okjob'>
<message>job OK, message[${wf:errorMessage()}]</message>
</ok>
<error name='errorjob'>
<message>job error, error message[${wf:errorMessage()}]</message>
</error>
</workflow-app>
Run Code Online (Sandbox Code Playgroud)
我创建了结构:
FirstScript
|- lib
|---FirstScript.pig
|- workflow.xml
Run Code Online (Sandbox Code Playgroud)
现在怎么办?如何部署它并与oozie一起运行?
任何人都可以获得经验帮助
关心
帕维尔
enyone可以解释一下,HCatalog和HBase之间的关系是什么?
我发现了这些定义:
Apache HCatalog HCatalog是一个元数据抽象层,用于在不使用底层文件名或格式的情况下引用数据.它将用户和脚本与数据的物理存储方式和位置隔离开来.
Apache HBase HBase(Hadoop DataBase)是一个分布式,面向列的数据库.HBase将HDFS用于底层存储.它支持使用MapReduce和点查询(随机读取)的批处理样式计算.
我们在Hive中使用CREATE TABLE,它在HCatalog中创建表.我只是不明白.为什么不在真正的DATABASE中使用HBase?
HCatalog似乎是所有数据存储的某种metedata存储库.这是否意味着它还保存有关HBase中数据库和表的信息?
我将很感激解释
关心帕维尔
我有带有 NUMBER(10,2) 列的表(Oracle 11g)。
假设样本值为 123.34 当我导出数据时,我得到“123,24”。最后,我的 INSERT 脚本在尝试将 VARCHAR 值插入 NUMBER 列时出错。
我已将 Preferences/Database/NLS/Decimal Separator 设置为 . (点)
如何让 SQLDeveloper 在导出 NUMBER 列时使用点而不是逗号?
我正在尝试加载简单文件:
log = load 'file_1.gz' using TextLoader AS (line:chararray);
dump log
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:
2014-04-08 11:46:19,471 [main] ERROR org.apache.pig.tools.pigstats.SimplePigStats - ERROR 2997: Unable to recreate exception from backend error: org.apache.pig.backend.executionengine.ExecException: ERROR 2118: Input Pattern hdfs://hadoop1:8020/pko/file*gz matches 0 files
at org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigInputFormat.getSplits(PigInputFormat.java:288)
at org.apache.hadoop.mapred.JobClient.writeNewSplits(JobClient.java:1054)
Run Code Online (Sandbox Code Playgroud)
错误出现之前是否可以管理这种情况?
当我从 hdfs 中删除数据时,如果转到 .Trash。
我可以使用
hdfs dfs -rm -skipTrash /path_to_directory
Run Code Online (Sandbox Code Playgroud)
或使用
hdfs dfs -expunge
Run Code Online (Sandbox Code Playgroud)
删除 .Trash 中已有的数据
两个问题:
在 Hive 中删除表时 - 表会转到 .Trash 还是被永久删除?
这是否可以为所有用户从 .Trash 中删除数据?假设我需要特权...
帕维尔
hbase在哪里存储命名空间/表的数据文件?我发现这篇文章:Hbase如何编写其数据以及我需要一个完整路径位置,只是为了将权限分离到不同的命名空间.
在Hive文件在hive_warehouse_path/database/table/partition中,我在Hbase中寻找相同的文件.
你能帮我吗?
关于Pawel
编辑:顺便说一句,我发现了一个关于HBase中文件结构的有趣幻灯片:http://www.slideshare.net/enissoz/hbase-and-hdfs-understanding-filesystem-usage
我正在寻找一个像Oracle的DECODE那样具有tab单个列的表的字符串函数col
col
----
a
b
c
d
Run Code Online (Sandbox Code Playgroud)
用一个简单的查询:
select decode(col,'a',1,'b',2',9) dec from tab
Run Code Online (Sandbox Code Playgroud)
我希望这样的结果:
dec
---
1
2
9
9
Run Code Online (Sandbox Code Playgroud)
我在《语言手册》中找不到任何内置函数。有没有可以模拟DECODE的UDF?
我不想使用case子句。
问候
帕维尔
我正在尝试运行我的第一个oozie工作流程,简单的<pig>操作.
任何人都可以帮助这两个标签:
<job-tracker>[JOB-TRACKER]</job-tracker>
<name-node>[NAME-NODE]</name-node>
Run Code Online (Sandbox Code Playgroud)
据我了解,参数表示现有配置.
我正在使用预先配置的环境,所以请您帮助在哪里找到这些值?
关心
帕维尔