Tuesday, March 28, 2017

hive 表及其文件被删除恢复

1.关于hive外部表和内部表的差异,可以查看
http://stackoverflow.com/questions/38318513/does-drop-partition-delete-data-from-external-table-in-hive

大概意思就是内部表,表被drop掉之后,文件也会被删除。

我就是建立了内部表,然后把表drop了,然后文件也被删除了,恢复的办法就是/user/<user>/.Trash 去拷贝或者mv出来,因为我的操作用户是root,对应的user换成root就可以了

具体参见http://stackoverflow.com/questions/20114597/hive-files-on-hdfs-not-being-deleted-when-managed-not-external-table-is-droppe

2.因为通过spark streaming 读取kafka里的反馈日志,并且写入hdfs,文件是orc文件的
CREATE EXTERNAL TABLE test (
    foo string,
    time string,
    bar string
)  PARTITIONED BY (dt string)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
LOCATION 's3://test.com/';
建表方式如上,当然,orcfile的terminated by ',',另外需要加上一句STORED AS ORC就可以了
然后每天的天分区需要这样加载进去,才能被查询到
LTER TABLE test
    ADD PARTITION (dt='2014-03-05')
    location 's3://test.com/2014-03-05'

方法参考http://stackoverflow.com/questions/22220837/how-to-add-partition-using-hive-by-a-specific-date



ref
https://www.cloudera.com/documentation/enterprise/5-8-x/topics/impala_alter_table.html
https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL

Tuesday, March 14, 2017

安装keras,tensorflow,theano

环境:win10
1.安装tensorflow,下载官方的whl文件就行了,需要保证Python的版本是3.5,Anaconda3-4.2.0-Windows-x86_64是可以的
2.安装theano,需要conda install libpython ,会在C:\Anaconda3\libs下生成libpython35.dll.a文件,然后pip install keras 之后,会自动安装theano